столкновение с проблемой при запуске фреймворка транспортир-огурец

Сэр, я пытаюсь запустить файл, используя фреймворк для огурца транспортира, используя концепцию async и await, он проходит все мои тесты, но всегда дает ошибку в отношении возможности тестирования angular, и я не знаю, почему он дает такой тип ошибки, пожалуйста, прочтите код ниже один раз и помогите мне понять, где я ошибаюсь в этом подходе.

См. ниже мой файл функций: -

featurefile

См. мой файл pageobjects, как показано ниже: -

файл pageobject

См. файл определения шага, как показано ниже: -

stepdefinitionfile

См. файл конфигурации conf.ts, как показано ниже: -

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

См. журналы консоли, как показано ниже: -

[12:31:48] I/launcher - Running 1 instances of WebDriver
[12:31:48] I/direct - Using ChromeDriver directly...

DevTools listening on ws://127.0.0.1:54978/devtools/browser/3cec07ae-0398-49b1-8fd9-36607b210799
...Menu 9 option reached
..

1 scenario (1 passed)
4 steps (4 passed)
0m00.034s
(node:2484) UnhandledPromiseRejectionWarning: Error: Error while waiting for Protractor to sync with the page: "both angularJS testability and angular testability are undefined.  This could be either because this is a
non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping.  See http://git.io/v4gXM for details"
    at runWaitForAngularScript.then (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\browser.js:463:23)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)Error
    at ElementArrayFinder.applyAction_ (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:459:27)
    at ElementArrayFinder.(anonymous function).args [as click] (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:91:29)
    at ElementFinder.(anonymous function).args [as click] (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:831:22)
    at homepageclass.clickEXWmenu (E:\Backup_work\Protractor projects\cucumber2_framework\pageobjects\menu9.PO.js:10:29)
    at World.<anonymous> (E:\Backup_work\Protractor projects\cucumber2_framework\Stepdefinition\first.steps.js:22:20)
    at Generator.next (<anonymous>)
    at E:\Backup_work\Protractor projects\cucumber2_framework\Stepdefinition\first.steps.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (E:\Backup_work\Protractor projects\cucumber2_framework\Stepdefinition\first.steps.js:3:12)
    at World.<anonymous> (E:\Backup_work\Protractor projects\cucumber2_framework\Stepdefinition\first.steps.js:21:12)
(node:2484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2484) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:2484) UnhandledPromiseRejectionWarning: Error: Error while waiting for Protractor to sync with the page: "both angularJS testability and angular testability are undefined.  This could be either because this is a
non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping.  See https://github.com/angular/protractor/issues/2643 for details"
    at runWaitForAngularScript.then (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\browser.js:463:23)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)Error
    at ElementArrayFinder.applyAction_ (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:459:27)
    at ElementArrayFinder.(anonymous function).args [as click] (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:91:29)
    at ElementFinder.(anonymous function).args [as click] (E:\Backup_work\Protractor projects\cucumber2_framework\node_modules\protractor\built\element.js:831:22)
    at homepageclass.clickmenu9 (E:\Backup_work\Protractor projects\cucumber2_framework\pageobjects\menu9.PO.js:13:26)
    at World.<anonymous> (E:\Backup_work\Protractor projects\cucumber2_framework\Stepdefinition\first.steps.js:26:10)
(node:2484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
[12:31:50] I/launcher - 0 instance(s) of WebDriver still running
[12:31:50] I/launcher - chrome #01 passed

person keshav dwivedi    schedule 11.03.2019    source источник
comment
Эта ошибка чаще всего возникает, когда какая-то часть вашего приложения не является угловой. Знаете ли вы, есть ли в вашем приложении такие части, как экран входа в систему, предоставленный сторонним поставщиком?   -  person DublinDev    schedule 11.03.2019
comment
@keshav - попробуйте добавить browser.ignoreSynchrosisation = true; в вашем файле конфигурации ваше приложение может быть не угловым, добавив указанную выше команду, которая не подходит для страницы angular.   -  person Parthi    schedule 11.03.2019
comment
@Parthi, мое приложение - это приложение angular, и я попытался добавить browser.ignoresynchronization = true, но затем он выдает ошибку для nosuchelementexception, а также я получаю UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за вызова асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().   -  person keshav dwivedi    schedule 11.03.2019
comment
@Parthi, перейдите по этой ссылке, чтобы получить представление о том, что именно происходит, когда мы добавляем ignoresynchronization = true, pasteboard.co/I4VBe5q .png   -  person keshav dwivedi    schedule 11.03.2019


Ответы (1)


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

public async clickEXWMenu(){
   await this.EXWenquirymenu.click();
}

Так и должно быть ^

person Raymond Kelly    schedule 11.03.2019
comment
Спасибо, я попробую и дам вам знать - person keshav dwivedi; 11.03.2019
comment
Я все еще сталкиваюсь с проблемой исключения nosuchelement для элемента второй функции, а также мне нужно использовать browserignoresynchronization = true даже в приложении angular, пожалуйста, обратитесь по ссылке: - pasteboard.co/I521XYU.png - person keshav dwivedi; 12.03.2019
comment
Вы добавили асинхронное ожидание в метод clickMenu9? Теперь это выглядит как допустимая ошибка в том, что элемент не найден. Можете ли вы попробовать выполнить поиск элемента на простом элементе, который, как вы уверены, существует, и подтвердить, найдет ли транспортир его? - person Raymond Kelly; 12.03.2019
comment
Я добавил асинхронное ожидание в метод clickmenu9, см. Изображение pasteboard.co/I5bzSCC.png - person keshav dwivedi; 13.03.2019
comment
@keshavdwivedi и все та же проблема? У вас есть где-нибудь этот проект на репо? Так я могу запустить код? - person Raymond Kelly; 13.03.2019
comment
этот веб-сайт принадлежит моей компании и работает только на компьютерах, подключенных из домена компании, даже если я дам вам код проекта, тогда вы также не сможете увидеть, как открывается веб-сайт и работает код, потому что на вашем компьютере это даст ошибку 404. но затем я также загрузил в следующий репозиторий github github.com/ keshavdwivedi / protractor-cucumber-framework / tree / nnode modules с помощью npm установите и измените код в соответствии с вашим удобством, чтобы устранить ошибку. Благодарю вас за ваши усилия. Пожалуйста, свяжитесь со мной по моему skype_id: - keshav.dwivedi17 - person keshav dwivedi; 15.03.2019
comment
указанный выше идентификатор Skype теперь изменен на: - keshu.dwivedi17, пожалуйста, подключитесь по этому идентификатору - person keshav dwivedi; 16.03.2019