在 Protractor 初始化之前无法访问 'element'
Cannot access 'element' before initialization in Protractor
我正在尝试使用 Protractor 为 Angular 应用程序编写端到端测试。我正在尝试创建一个函数,该函数在访问元素之前等待元素出现在页面上,但出现错误:
ReferenceError: Cannot access 'element' before initialization
虽然我确实需要 Protractor 的元素。
函数在文件 global.js
:
const { browser, element } = require('protractor');
const global = function () {
this.getElementAsync = (element, waitTime) =>
browser.wait(() => element.isPresent(), waitTime)
.then(() => browser.wait(() => element.isDisplayed(), waitTime));
}
module.exports = new global();
我正在另一个文件中使用它:
const global = require('./global');
const { element } = require('protractor');
var someFile = function () {
this.doWhatever = async function(sec) {
const element = await global.getElementAsync(element(by.css('.some.css')), 5000); //error is thrown here
return element.click();
};
}
module.exports = new someFile();
我向所有人开放 suggestions/advices。
你在这行有一个变量名冲突:
const element = await global.getElementAsync(element(by.css('.some.css')), 5000); //error is thrown here
element(by.css('.some.css')
正在尝试引用 const element
而不是从量角器导入的 element
,因此会出现 ReferenceError 消息。
尝试将您的变量名称更改为其他名称,它应该可以工作。
E.x:
const someElement= await global.getElementAsync(element(by.css('.some.css')), 5000);
我正在尝试使用 Protractor 为 Angular 应用程序编写端到端测试。我正在尝试创建一个函数,该函数在访问元素之前等待元素出现在页面上,但出现错误:
ReferenceError: Cannot access 'element' before initialization
虽然我确实需要 Protractor 的元素。
函数在文件 global.js
:
const { browser, element } = require('protractor');
const global = function () {
this.getElementAsync = (element, waitTime) =>
browser.wait(() => element.isPresent(), waitTime)
.then(() => browser.wait(() => element.isDisplayed(), waitTime));
}
module.exports = new global();
我正在另一个文件中使用它:
const global = require('./global');
const { element } = require('protractor');
var someFile = function () {
this.doWhatever = async function(sec) {
const element = await global.getElementAsync(element(by.css('.some.css')), 5000); //error is thrown here
return element.click();
};
}
module.exports = new someFile();
我向所有人开放 suggestions/advices。
你在这行有一个变量名冲突:
const element = await global.getElementAsync(element(by.css('.some.css')), 5000); //error is thrown here
element(by.css('.some.css')
正在尝试引用 const element
而不是从量角器导入的 element
,因此会出现 ReferenceError 消息。
尝试将您的变量名称更改为其他名称,它应该可以工作。
E.x:
const someElement= await global.getElementAsync(element(by.css('.some.css')), 5000);