VSO*_*VSO 28 javascript testing selenium angularjs protractor
我真的不明白$和$$命令的用途.我认为它们只是'by.css'的替代品,但为什么是$$?
<element id = "eId"></element>
Run Code Online (Sandbox Code Playgroud)
我想,鉴于上述情况,这些将是相同的:
element(by.css('#eId'));
Run Code Online (Sandbox Code Playgroud)
和
element($('#eId'));
Run Code Online (Sandbox Code Playgroud)
但是,第一个工作,第二个不工作.为什么,这三者有什么区别?
该文档是帮助不大.它们似乎暗示"$"仅用于链接,例如element(by.css('#eId')).element($('#childId'));或"选择第一个元素,然后在第一个元素中选择第二个元素." 但是,我已经看到使用$来选择第一个元素的示例.
无论如何,这有很多文字"三者之间有什么区别(by.css,$和$$)?"
ale*_*cxe 34
$("selector")是另一种选择element(by.css("selector")).
$$("selector")是另一种选择element.all(by.css("selector")).
仅供参考,源代码引用:
ElementFinder.prototype.$ = function(selector) {
return this.element(webdriver.By.css(selector));
};
ElementArrayFinder.prototype.$$ = function(selector) {
return this.all(webdriver.By.css(selector));
};
Run Code Online (Sandbox Code Playgroud)
最初实现它的实际提交.