我的脚本在此行的预期条件下失败:
let condition = EC.presenceOf (title_css);
错误消息:
失败:无法读取未定义的属性'bind'
我尝试了Selenium Java中的等效脚本,并且可以正常工作。但是我不知道为什么这在量角器中失败了。我是量角器的新手,想知道ExpectedConditions
是否不适用于非角度。
var title_css = "h1[ng-bind='::$ctrl.primaryText']"
describe ("Protractor test demo", function(){
it ("testing site", function (){
browser.get('https://www.eat24.com/')
let EC = ExpectedConditions;
var title_css = by.css (title_css);
let condition = EC.presenceOf (title_css);
browser.wait(condition, 30000)
})
})
量角器中的 ExpectedConditions
应该接受Selenium / Java中的CSS吗?
答案 0 :(得分:1)
将EC更改为EC = protractor.ExpectedConditions;
然后存在browser.wait(EC.presenceOf(element));
部分
这种情况还会返回需要解决的承诺
答案 1 :(得分:1)
我建议您先阅读量角器API文档。您会看到量角器具有不同的语法
我在您的代码中发现了一些问题
let title_css = "h1[ng-bind='::$ctrl.primaryText']" // I assume you verified it works
describe("Protractor test demo", function() {
it("testing site", function () {
browser.get('https://www.eat24.com/')
let EC = protractor.ExpectedConditions; // ExpectedConditions may be available as a global variable, may not, so to be safe do it this way...
let title_element = element(by.css(title_css)); // syntax is element(by.strategy(locator))
let condition = EC.presenceOf(title_element);
browser.wait(condition, 30000)
})
})
如果您解决问题,那么下一个问题将是Promises,我可以保证。因此,请阅读如何处理它们