одна вещь, которая может быть проблемой ...
Вы используете неправильные регулярные выражения, насколько я вижу в любом случае
Then I expect that the title of the page is "Welcome to My WebSite"
из вашего файла функций, однако, правильно, когда вывставьте это обратно в ваши определения шагов, сделайте что-то подобное вместо того, что вы делаете
Then("I expect that the title of the page is {string}",
function => {
, который передаст строку "Welcome to My WebSite" из вашего файла возможностей в ваш файл определений шагов, яЯ предполагаю, что если вы удалите регулярные выражения из своего исходного теста, это, вероятно, позволит ему пройти, в настоящий момент я думаю, что не совсем понятно, какой тест нужно запустить из-за использования вами регулярных выражений.
Также добавьте что-токак это делается в ваших тестах, чтобы убедиться, что страница не пытается загрузить скрипт до загрузки элементов.
driver.wait(until.elementIsVisible(pageElement), 10000)
Наконец, вы не имеете дело с необработанными обещаниями, которые заставят код работать нечетноНиже приведен пример того, как я имею дело с обещанием, я опубликую определение шага и характерную строку, чтобы вы знали, как это сделать.Я делаю вещи.
Определение шага:
Given("I open the page with the url {string} and route {string}", (url, route, next) => {
driver.get(`${url}${route}`).then(() => {
next();
}).catch(ex => {
console.log(ex);
});
});
и характерная линия для соответствия ..
Given I open the page with the url "http://localhost:3000" and route "/login"
надеюсь, это по крайней мере сделает ваше тестированиелучшие стандарты, причина, по которой вы бы использовали огурец, состоит в том, чтобы передавать данные из файла объектов в файл определений шагов, чтобы использовать одно и то же определение шага для нескольких функций / сценариев.
Дайте мне знать, могу ли ябольше помощи.