gpt4 book ai didi

javascript - Protractor - 添加计数函数返回 ""AngularJS 可测试性和 Angular 可测试性均未定义...“错误

转载 作者:行者123 更新时间:2023-12-03 00:23:04 24 4
gpt4 key购买 nike

我正在尝试为应用程序上的按钮点击创建循环。为此,我需要计算表中存在按钮的行数。所以我创建了这个脚本:

require('..\\waitAbsent.js');
require("../node_modules/jasmine-expect/index.js");
var EC = protractor.ExpectedConditions;

describe('Demo_Test For count', function() {


beforeAll(function () {
browser.driver.manage().window().maximize();
browser.get(globalVariables.loginMain);
globalVariables.Email_Input_box.sendKeys(globalVariables.Demo_User);
globalVariables.Password_Input_Box.sendKeys(globalVariables.Demo_PWD);
globalVariables.Submit_Button.click();
browser.wait(EC.invisibilityOf(globalVariables.Submit_Button), 25000, 'submit button is not disappearing yet');
});


it('Dashboard Title Validation', function () {

expect(globalVariables.ESY_DB_Label.isDisplayed());
expect(globalVariables.ESY_DB_Label.getText()).toEqual('HomePage')

});

//count block


globalVariables.tableData_Dashboard.all(by.tagName("tr")).count().then(function (Count) {

console.log('\n the count of the rows are ' + Count + '\n');

});
//count block end


it("1+1", function () {

let i = 1;
let j = i + i;
expect(j).toBe(2);

})

});

当我运行这个脚本时,所有测试都失败了,甚至是我刚刚添加 1+1 的第二个测试!日志如下:

  Student Enrollment Page Content Validation 1+1
Message:
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"
Stack:
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 (C:\ESY_Desktop_V_2\node_modules\protractor\built\browser.js:463:23)
at ManagedPromise.invokeCallback_ (C:\ESY_Desktop_V_2\node_modules\selenium-webdriver\lib\promise.js:1376:14)
at TaskQueue.execute_ (C:\ESY_Desktop_V_2\node_modules\selenium-webdriver\lib\promise.js:3084:14)
at TaskQueue.executeNext_ (C:\ESY_Desktop_V_2\node_modules\selenium-webdriver\lib\promise.js:3067:27)
at asyncRun (C:\ESY_Desktop_V_2\node_modules\selenium-webdriver\lib\promise.js:2927:27)
at C:\ESY_Desktop_V_2\node_modules\selenium-webdriver\lib\promise.js:668:7
at process._tickCallback (internal/process/next_tick.js:68:7)

但是如果我注释掉 count block ,测试就会顺利运行。出现这个错误的原因是什么?我该如何修复它?

最佳答案

未包含在 it block 中的代码将被提升到顶部并在任何 it block 开始之前运行,这意味着您的测试当时可能不会处于预期状态。尝试再次编写代码,但将计数 block 放在 it 中。

require('..\\waitAbsent.js');
require("../node_modules/jasmine-expect/index.js");
var EC = protractor.ExpectedConditions;

describe('Demo_Test For count', function () {
beforeAll(function () {
browser.driver.manage().window().maximize();
browser.get(globalVariables.loginMain);
globalVariables.Email_Input_box.sendKeys(globalVariables.Demo_User);
globalVariables.Password_Input_Box.sendKeys(globalVariables.Demo_PWD);
globalVariables.Submit_Button.click();
browser.wait(EC.invisibilityOf(globalVariables.Submit_Button), 25000, 'submit button is not disappearing yet');
});


it('Dashboard Title Validation', function () {

expect(globalVariables.ESY_DB_Label.isDisplayed());
expect(globalVariables.ESY_DB_Label.getText()).toEqual('HomePage')

});

it("1+1", function () {
//count block
globalVariables.tableData_Dashboard.all(by.tagName("tr")).count().then(function (Count) {
console.log('\n the count of the rows are ' + Count + '\n');
});
//count block end

let i = 1;
let j = i + i;
expect(j).toBe(2);

})
});

关于javascript - Protractor - 添加计数函数返回 ""AngularJS 可测试性和 Angular 可测试性均未定义...“错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54221237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com