выполнение тестового примера становится неудачным и он генерирует любую трассировку стека ошибок в командной строке - PullRequest
0 голосов
/ 01 ноября 2019

Я создал тестовый сценарий с каркасом Protractor-cucumber и использовал Grunt для выполнения этого тестового примера. Тем не менее, во время выполнения произошел сбой, и он не предоставляет никакой трассировки стека ошибок, чтобы узнать причину сбоя.

Я искал в Google и также рассмотрел другие решения Stack Overflow , но я не сделалНе можете найти решение для этого.

Файл конфигурации

exports.config = {

  //seleniumAddress: 'http://localhost:4444/wd/hub',
  getPageTimeout: 60000,
  allScriptsTimeout: 500000,
  directConnect:true,

  framework: 'custom',
  // path relative to the current config file
  frameworkPath: require.resolve('C:\\...\\node_modules\\protractor-cucumber-framework'),
  capabilities: {
    'browserName': 'chrome'
  },
  ignoreUncaughtExceptions:true,
  // Spec patterns are relative to this directory.
  specs: [
    './learnFramework/utility/test.feature'
  ],

  cucumberOpts: {
    require: './learnFramework/TestCases/spec.js',
    tags: false,
    profile: false,
    'no-source': true
  },
  onPrepare: function () {
    browser.ignoreSynchronization=true;
    browser.manage().window().maximize();
  }
};

Файл спецификации

module.exports=function(){
    this.Given(/^Open the browser and Load the URL$/,async function(){
        browser.get("https://google.com");
    });

    this.When(/^User entered the text in the search box$/,async function(){
        browser.sleep(5000);
        console.log(await browser.getTitle());
        await element(By.name("q")).sendKeys("facebook");
        browser.sleep(3000);
    });

    this.Then(/^click on search$/,async function(){
        browser.action().sendKeys(protractor.Key.ENTER).perform();
        browser.sleep(5000);
    });
}

Журнал ошибок

Running "jshint:files" (jshint) task
>> 1 file lint free.
>
Running "protractor:singlerun" (protractor) task
[00:08:29] I/launcher - Running 1 instances of WebDriver
[00:08:29] I/direct - Using ChromeDriver directly...
>
DevTools listening on ws://127.0.0.1:50146/devtools/browser/5c09d68c-f3ff-43b2-b645-0b5c098c41d9
Feature: Title of your feature
>
    I want to use this template for my feature file
>
  Scenario: Title of your scenario
  ✓ Given Open the browser and Load the URL
  ✖ When User entered the text in the search box
  - And click on search
>
Failures:
>
[00:09:03] I/launcher - 0 instance(s) of WebDriver still running
[00:09:03] I/launcher - chrome #01 failed 1 test(s)
[00:09:03] I/launcher - overall: 1 failed spec(s)
[00:09:03] E/launcher - Process exited with error code 1
>>>
>>> Test failed but keep the grunt process alive.
>
Done.

Если вы заметили, что в журнале ошибок не удалось выполнить шаг «Когда», но в командной строке нет трассировки стека ошибок, чтобы найти причину ошибки.

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

1 Ответ

0 голосов
/ 04 ноября 2019

Вам нужно использовать await в действиях вашего браузера, иначе он выполняет действия синхронно.

например, await browser.get ("https://google.com");

...