Ошибка при использовании async / await в функциях jasmine-protractor - PullRequest
0 голосов
/ 25 апреля 2019

Я провожу тестирование e2e на моем угловом участке, используя транспортир-жасмин.При использовании асинхронных функций и ожидания остальной части кода возвращаемое обещание дает ошибку в Jasmine-транспортире.

Я даже включил: SELENIUM_PROMISE_MANAGER: false,

it('Sub-folder: Manage permission, Edit Folder name, Create Template, View Template', async ()=> {
await obj.getURL();
obj.TealoginUname.sendKeys(data.uname);
obj.TealoginPass.sendKeys(data.pass);
await obj.TealoginButton.click();
await browser.sleep(2000);
})

Ошибка консоли:

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"

В затмении он показывает ошибку в тех строках, где async / awaitнаписаны.enter image description here

Я использую объектную модель страницы для динамических элементов.var obj= require("./somefile.js");

somefile.js: -

function  globalVariables()
{
this.TealoginUname= element(by.model("vm.login.userid"));
this.TealoginPass= element(by.model("vm.login.password"));
this.TealoginButton= element(by.xpath("//*[@id='login-form']/form[1]/button"));

}

1 Ответ

0 голосов
/ 26 апреля 2019

без импорта локаторов добавьте его в свой тестовый файл

const TealoginUname= element(by.model("vm.login.userid"));
const TealoginPass= element(by.model("vm.login.password"));
const TealoginButton= element(by.xpath("//*[@id='login-form']/form[1]/button"));

Попробуйте приведенный ниже

it('Sub-folder: Manage permission, Edit Folder name, Create Template, View Template', async ()=> {
await broswer.get('add your url here');
await browser.waitForAngularEnabled(true); // To make protractor wait for all the http request to get compelted
await TealoginUname.sendKeys(data.uname);
await TealoginPass.sendKeys(data.pass);
await TealoginButton.click();
await browser.sleep(2000);
})
...