Невозможно щелкнуть ссылку на странице, используя объектную модель страницы Nightwatch с Cucumber.
Я настроил свой проект, используя cucumber [функция, определения шагов и классы объектов страницы].Моя функция выглядит так: Функция: Сценарий входа в систему: Функциональность входа в систему После запуска домашней страницы, затем я нажимаю "Войти", и страница входа запускается
Файл определения моего шага:
const { client } = require('nightwatch-cucumber');
const { defineSupportCode } = require('cucumber');
const homePage = client.page.home();
const loginPage = client.page.login();
defineSupportCode(({ Given, Then, When }) => {
Given('I launch home page', async () => {
// Write code here that turns the phrase above into concrete actions
await homePage
.navigate()
.waitForElementVisible('@body', 1000);
});
Then('I click on Sign In', async () => {
// Write code here that turns the phrase above into concrete actions
homePage
.submit();
});
Then('the login page is launched', async () => {
// Write code here that turns the phrase above into concrete actions
});
});
Класс объекта моей домашней страницы выглядит так:
module.exports = {
url: 'https://www.homeimprovementpages.com.au',
elements: {
body: 'body',
signInLink: {
selector: "a[title='Sign in']",
}
},
commands: [{
submit: function(){
function callback () {
console.log('is client: yesssss ');
}
console.log('in submit ----- ');
this
.waitForElementVisible('@signInLink',1000)
.click('@signInLink',callback());
}
}]
};
Результат выглядит следующим образом: Запуск сервера селена... запущен - PID: 63132 ✔ Элемент был виден через 311 миллисекунд. .in submit ----- это клиент: yesssss .. 1 сценарий (1 пройдено) 3 шага (3 пройдено) 0m05.928s
Тем не менее, элемент входа не нажимается. Что мне здесь не хватает? Можете ли вы вести, пожалуйста? Я могу это из-за асинхронного характера JavaScript, но как я могу справиться с этим? Я новичок в этом узле и Nightwatch. Пожалуйста помоги!
С уважением Jas