С помощью WDIO я пытаюсь автоматизировать экран входа в приложение, разработанное в ReactJs & Node.js. Это занимает паузу 4-5 секунд после ввода каждого символа. Из-за этого происходит тайм-аут до нажатия кнопки «Вход», и я получаю следующую ошибку:
Превышен тайм-аут 60000 мс. Для асин c тестов и хуков убедитесь, что вызывается «done ()»; если вы возвращаете обещание, убедитесь, что оно разрешено. (E: \ Jigs \ WDIO_React \ specs \ loginReact IE .spe c. js)
Я все еще новичок в использовании WDIO и не знаю, как это может быть resolved.
У меня есть следующие devDependencies в пакете. json:
"devDependencies": {
"@wdio/crossbrowsertesting-service": "^6.0.8",
"@wdio/firefox-profile-service": "^6.0.7",
"@wdio/local-runner": "^5.22.4",
"@wdio/mocha-framework": "^5.18.7",
"@wdio/selenium-standalone-service": "^6.0.8",
"@wdio/spec-reporter": "^5.22.4",
"@wdio/sync": "^5.20.1",
"chai": "^4.2.0",
"chromedriver": "^80.0.1",
"geckodriver": "^1.19.1",
"iedriver": "^3.14.1",
"jasmine": "^3.5.0",
"mocha": "^7.1.1",
"selenium-standalone": "^6.17.0",
"wdio-chromedriver-service": "^5.0.2",
"wdio-geckodriver-service": "^1.0.3",
"wdio-iedriver-service": "^0.1.0",
"wdio-selenium-standalone-service": "0.0.12"
}
Версия IE 11 - 11.1098.17763.0 И она 64-битная.
Я прочитал здесь https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver, что мне нужно установить запись в реестре для IE11 и сделать это. Тем не менее, мне не повезло.
Может ли кто-нибудь помочь мне с тем, как я могу исправить медлительность ввода значений на экране входа в систему, чтобы можно было избежать тайм-аута?
Вот мой loginReact IE .page. js:
var expect = require("chai").expect;
class loginReactPageIE {
// Locate ClientId
get userName() {return $("input#email")}
// Locate Password
get password() {return $("input#password")}
// Locate "Sign In" button
get signIn() {return $("#login button.btn")}
enterUsername(clientId) {
expect(this.userName.isDisplayed()).to.equal(true);
this.userName.addValue(clientId);
}
enterPassword(pw) {
expect(this.password.isDisplayed()).to.equal(true);
this.password.addValue(pw);
}
submit() {
expect(this.signIn.isDisplayed()).to.equal(true);
this.signIn.click();
}
}
module.exports = new loginReactPageIE();
А вот и логинReact IE .spe c. js:
const loginReactPageIE = require("../pageobjects/loginReactIE.page");
const assert = require("assert");
var expect = require("chai").expect;
describe("Loign as client and check profile", function() {
it("login is successful with valid credentials", function() {
try {
browser.url("/");
browser.setWindowSize(1900, 1000);
loginReactPageIE.enterUsername("jigs_test");
loginReactPageIE.enterPassword("TestPass1@");
loginReactPageIE.submit();
done();
} catch (error) {
done(error);
}
browser.pause(30000);
});