WDIO очень медленно вводит все символы на экране входа в систему при открытии в IE 11 - PullRequest
0 голосов
/ 03 апреля 2020

С помощью 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);
  });
...