测试应用遇到另一个问题.我需要通过精确文本单击元素,所以我找到了一个解决方案,我使用cssContainingText和每个,然后如果声明comapre文本并选择某个元素,但我认为可能是一个更好的解决方案的那个紫色?
第二个问题:在stackoverflow的某个地方,我读到了
element.click().then(){
dosomething;
});
Run Code Online (Sandbox Code Playgroud)
将导致'dosomething;' 将点击后执行,我尝试这个,它不起作用,如何使'dosomething;' 点击后会执行;
Del*_*kin 16
您可以by.xpath用作选择器:
通过确切的文字
element(by.xpath('.//*[.="text"]'))
Run Code Online (Sandbox Code Playgroud)
通过具有确切文本的css类
element(by.xpath('.//*[.="text" and class="some-css-class"]'))
Run Code Online (Sandbox Code Playgroud)
你可以在网上找到很多xpath的例子.还有一个可以使用的测试仪.
1)Delian 有正确答案,但在很多情况下元素内容有额外的空格,所以你需要修剪它们:
getElementsByText: function (text, parentXpathSelector) {
parentXpathSelector = parentXpathSelector || '//';
return element(by.xpath(parentXpathSelector + '*[normalize-space(text())="' + text + '"]'));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15957 次 |
| 最近记录: |