Я пытаюсь использовать очень простой сценарий транспортира огурца.
Файл определения шага имеет следующий код.
var {setDefaultTimeout} = require('cucumber');
var {defineSupportCode} = require('cucumber');
setDefaultTimeout(60 * 1000);
var LoginPage = require('../../PageObjects/loginPage.js');
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
defineSupportCode(function ({And, But, Given, Then, When}) {
When(/^I enter "([^"]*)" as user name$/, async (username) => {
await LoginPage.setUserName(username);
// callback.pending();
});
When(/^I enter "([^"]*)" as password$/, async (password) => {
await LoginPage.setPassword(password);
// callback.pending();
});
When(/^I click login button$/, async () => {
await LoginPage.login();
// callback.pending();
});
Given(/^I login into tutorialpoint"$/, async () => {
await LoginPage.loadpage('https://www.tutorialspoint.com/angularjs/angularjs_login_application.htm');
});
});
LoginPage.Js имеет следующий код.
var LoginPage = function() {
var username = element(By.id('username'));
var password = element(By.id('password'));
var loginform = element(By.id('form'));
this.loadpage = function(site) {
browser.ignoreSynchronization = true;
browser.get(site);
};
this.setUserName = function(name) {
username.sendKeys(name);
};
this.setPassword = function(pwd) {
password.sendKeys(pwd);
};
this.login = function() {
loginform.submit();
};
};
module.exports = new LoginPage();
Несмотря на то, что элементы присутствуют на сайте демо-входа, я всегда получаю сообщение об ошибке ниже.
[16:42:12] E / launcher - не найден элемент с использованием локатора: By (css selector, * [id = "username"]) [16:42:12] E / launcher - NoSuchElementError: Элемент с использованием локатора не найден: By (css selector, * [id = "username"])
Это только потому, чтовопросов в коде?