Сэр, я пытаюсь запустить файл, используя структуру огурца транспортира, используя концепция async и await проходит все мои тесты, но всегда выдает ошибку относительно угловой тестируемости, и я не знаю, почему это дает такой тип ошибка, пожалуйста, прочитайте приведенный ниже код один раз и помогите мне понять, где я нахожусь неправильно в этом подходе.
Пожалуйста, обратитесь к моему файлу функций ниже :-
Пожалуйста, обратитесь к моему файлу pageobjects, как показано ниже. :-
Пожалуйста, обратитесь к файлу определения шага, как показано ниже.:-
Пожалуйста, обратитесь к файлу конфигурации 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
@keshav - попробуйте добавить browser.ignoreSynchrosisation = true; в вашем файле конфигурации ваше приложение может быть не угловым, добавив указанную выше команду, которое не будет использоваться для угловой страницы.
@Parthi мое приложение является угловым, и я попытался добавить browser.ignoresynchronization=true, но затем выдает ошибку для nosuchelementexception, а также я получаю UnhandledPromiseRejectionWarning: отклонение необработанного обещания. Эта ошибка возникла либо из-за броска внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch().
@Parthi, пожалуйста, перейдите по этой ссылке, чтобы получить представление о том, что именно происходит, когда мы добавляем ignoresynchronization=true, pasteboard.co/I4VBe5q.png





Ваша первая проблема заключается в том, что вы используете ожидание, но функция, которую вы используете, не является асинхронной.
public async clickEXWMenu(){
await this.EXWenquirymenu.click();
}
Вот так и должно быть ^
Спасибо попробую и сообщу
Я все еще сталкиваюсь с проблемой исключения nosuchelement для элемента второй функции, а также я должен использовать browserignoresynchronization=true даже в угловом приложении, пожалуйста, обратитесь по ссылке: - pasteboard.co/I521XYU.png
Вы добавили асинхронное ожидание в метод clickMenu9? Теперь это выглядит как законная ошибка, поскольку элемент не найден. Можете ли вы попробовать выполнить поиск элемента на простом элементе, в котором вы уверены, и подтвердить, находит ли его транспортир
Я добавил асинхронное ожидание в методе clickmenu9, см. изображение pasteboard.co/I5bzSCC.png
@keshavdwivedi и все та же проблема? У вас есть этот проект на репо где-нибудь? Так что я могу запустить код?
этот веб-сайт принадлежит моей компании и работает только на компьютерах, подключенных к домену компании, даже если я дам вам код проекта, вы также не сможете увидеть открытие веб-сайта и работающий код, потому что на вашем компьютере он выдаст ошибку 404. но также я загрузил в следующий репозиторий github модули github.com/keshavdwivedi/protractor-cucumber-framework/tree/… nnode с помощью npm install и изменил код в соответствии с вашим удобством, чтобы устранить ошибку. Благодарю вас за ваши усилия. Пожалуйста, свяжитесь со мной по моему skype_id: - keshav.dwivedi17
вышеуказанный идентификатор Skype теперь изменен на: - keshu.dwivedi17, пожалуйста, подключитесь к этому идентификатору
Эта ошибка чаще всего возникает, когда какая-то часть вашего приложения не является угловой. Знаете ли вы, есть ли в вашем приложении какие-либо части, подобные этой, например экран входа в систему, предоставленный третьей стороной?