mun*_*air 3 javascript protractor
我正在使用量角器。我知道量角器有类似 Jquery 的语法,但我需要一些可以在我的一些测试中基于 DOM 元素创建条件、变量和循环的东西。我希望能够使用 querySelector。仅使用承诺不会让我做我需要做的那种测试。
当我运行它时,它说:
Failed: Cannot read property 'querySelector' of undefined
Run Code Online (Sandbox Code Playgroud)
或者
Failed: document is not defined
Run Code Online (Sandbox Code Playgroud)
或者
Failed: window is not defined
Run Code Online (Sandbox Code Playgroud)
我已经设置了一个测试来测试这个问题。它运行在我正在查看的随机网页上。它使用量角器选择页脚,然后使用 querySelector 尝试它。如果我在控制台中输入 querySelector 部分,它会正确运行代码。我还尝试了 querySelector 的变体,使用 window.document; 这也适用于浏览器,但不适用于量角器。
describe("Test", function()
{
it('This is a test to test protractor' , function()
{
browser.waitForAngularEnabled(false);
browser.get("https://facebook.github.io/jest/");
$("#footer").getAttribute("innerHTML").then( function(value)
{
console.log("inside value then");
console.log(value);
});
var queryse = document.querySelector("#footer").innerHTML;
// var queryse = browser.document.querySelector("#footer").innerHTML;
// var queryse = window.document.querySelector("#footer").innerHTML;
console.log('query selector');
console.log(queryse);
});
});
Run Code Online (Sandbox Code Playgroud)
您在 Protractor 测试用例中运行的代码并没有真正在浏览器中运行,实际上它是在Node.js. 您应该将其视为一个 API,之后将通过WebDriver. 这意味着您不能JavaScript在代码中使用浏览器特定的API。该$助手就在那里,使语法简单,易懂,无需了解任何硒。这就是为什么document和window难以接近你。如果您想了解更多相关信息:https : //github.com/angular/protractor/blob/master/docs/locators.md
| 归档时间: |
|
| 查看次数: |
3221 次 |
| 最近记录: |