Время ожидания жасмина истекло.Сброс потока управления WebDriver - PullRequest
1 голос
/ 17 июня 2019

Я получаю

Время ожидания жасмина истекло. Сброс потока управления WebDriver.

Я также использовал fakesyn раньше, но получал то же сообщение об ошибке, что и выше. Пожалуйста, помогите мне

Это мои характеристики:

describe('CW Login Page',   function() {
    var username;   
    var password;
    var login;
    beforeEach(() => {
    browser.waitForAngularEnabled(false);
    browser.get('http://www.testing.com/');
    console.log('after link await');
  });

    it('should find the element and send the parameters',  fakeAsync(() => {
      setTimeout(function() {
      value=0;
      console.log('Inside it function');
      username = element(by.id('userIDInput'));
      password= element(by.id('passwordInput'));
      login= element(by.id('login'));
      console.log('After await');
      username.sendKeys('abc');
      password.sendKeys('abc');
      login.click();
      console.log("After it function");
      },5000);
      tick(5000);
    }));

    `beforeEach`(() => {
      console.log('\r\n ---=== TESTS FINISHED!!! ===--- \r\n');
   });
    });

Это мой конфиг:

exports.config = {
  allScriptsTimeout: 50000,
  getPageTimeout:40000,
  framework:'jasmine2',
  /*seleniumAddress: 'http://localhost:4723/wd/hub', // Ignored if directConnect is true
  specs: ['loginpage.js'],*/
  seleniumAddress: 'https://hub.testingbot.com/wd/hub',
  specs: ['./src/loginpage_fakeasync.e2e-specs.js'],
  seleniumArgs: ['--dev-server-target'], // '--dev-server-target' ],
  directConnect: false, //Change this to true for your local testing
  multiCapabilities: [{ // in 1 chrome run the 10 specs sequentially
    browserName: 'chrome',
    platform: 'Android',  
    version: '7.1',  
    platformName: 'Android',  
    deviceName: 'Pixel 2',
    client_key: "abc",
    client_secret: "xyz"
  }],

jasmineNodeOpts: {  
  onComplete: null,                 //jasmine framework details
  isVerbose: false,
  showColors: true,
  includeStackTrace: true,
  defaultTimeoutInterval: 40000,
  print: function() {}

Я ожидаю открыть веб-страницу и войти в систему, используя скрипт автоматизации. Если кто-то сможет понять ошибку, это будет очень полезно

Я получаю

Время ожидания жасмина истекло. Сброс WebDriver Control Flow.

Я также раньше использовал fakesyn, но получаю то же сообщение об ошибке, что и выше. Пожалуйста, помогите мне

1 Ответ

1 голос
/ 18 июня 2019

Поток управления должен поддерживать синхронизацию всего процесса, поэтому fakeAsync & setTimeout не требуется.Если ваш фреймворк не слишком большой, вам следует отключить поток управления и использовать стиль обработки обещаний async/await.

Я сомневаюсь, что это решит вашу проблему, но вы можете попробовать приведенный ниже код и опубликовать результаты.

describe('CW Login Page', function () {
    var username;
    var password;
    var login;

    beforeEach(() => {
        browser.waitForAngularEnabled(false);
        browser.get('http://www.testing.com/');
        console.log('after link await');
    });

    it('should find the element and send the parameters', () => {
        value = 0;
        console.log('Inside it function');
        username = element(by.id('userIDInput'));
        password = element(by.id('passwordInput'));
        login = element(by.id('login'));
        console.log('After await');
        username.sendKeys('abc');
        password.sendKeys('abc');
        login.click();
        console.log("After it function");
    })

    afterEach(() => {
        console.log('\r\n ---=== TESTS FINISHED!!! ===--- \r\n');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...