В Node-JS Selenium, Как получить имя сценария огурца и вставить текст поверх моего отчета из определения шага
Я могу получить это в версии огурца 1.X, но обновление огурца до более высокой версии не может использовать (это), и он говорит, что script.getName() не является функцией.
Я требую этого, потому что мой тест зависит от имени сценария, так как включает в себя общую функцию для разных данных теста.
Так я получаю имя сценария в версии 1.x для Cucumber.
`module.exports= function Steps() {
this.BeforeScenario(function (scenario, callback) {
var currentScenarioName = scenario.getName();
console.log(scenario.getName());
callback(null);
});
};`
И другой вопрос: как встраивать текст в мои отчеты об огурцах из моего шага "Определение" вместо того, чтобы делать это в хуках после функции
2 ответа
Чтобы расширить ответ Lean Prop, я обнаружил, что в Cucumber 4.x (используя 4.1) этот код работает:
const { defineSupportCode } = require('cucumber');
defineSupportCode(function({Before}) {
Before((scenario)=> {
console.log('scenario.pickle.name);
});
})
В Cucumber 3.x, чтобы получить имя сценария, вы можете использовать первый параметр, переданный перед хуком Before, который является маринованной версией объекта Scenario. Вот код:
const { defineSupportCode } = require('cucumber');
defineSupportCode(function({Before}) {
Before((scenario)=> {
console.log('before scenario', scenario.name);
});
})
Вы можете распечатать этот объект сценария, чтобы узнать, какая другая информация содержится в этом объекте.
Вот документ, в котором упоминается "testCase", который равен вышеуказанному параметру сценария.
Кстати, кажется, вы используете оба огурца 1.x или 3.x. Вы можете попробовать CukeTest, который имеет возможность редактировать обе версии, а также обеспечивать генерацию и проверку кода.
Пожалуйста, также поделитесь, как вы вставляете текст в отчет в вашей текущей версии, я знаю только о методе "attach" в объекте World, который может вставлять изображения в отчет.