无法在使用量角器的搜索中选择特定结果-AngularJS

德鲁

我正在尝试从下拉列表中选择特定公司进行自动化测试。我需要每次都能选择完全相同的公司。我当前拥有的脚本仅选择列表中的第二个子级,因此,如果列表被更新或更改,脚本将中断,因此我想找到一种方法来选择我想要的确切公司,而不管它在列表中的位置。当我在列表中查看公司名称时,这就是Chrome中的Inspect Element显示的内容。在这种情况下,公司为Test Master。网站主要是AngularJS。

<span class="company-name ng-binding" bind-html-unsafe="match.model.name.length > 40 ? (match.model.name.substr(0,40) + '...').toLowerCase() : match.model.name.toLowerCase() | typeaheadHighlight:query"><strong>test master</strong></span> 
ec

通过文本找到它:

element(by.xpath("//span[contains(@class, 'company-name')]/strong[. = 'test master']").click();

或者,您可以span使用company-nameclass获取所有元素,然后根据模型值过滤所需元素

element.all(by.css("span.company-name")).filter(function (company) {
    return company.evaluate("match.model.name").then(function (companyName) {
        return companyName === "test master";
    });
}).first().click();

您可能还需要等待元素变为可点击状态:

var company = element(by.xpath("//span[contains(@class, 'company-name')]/strong[. = 'test master']");

var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(company), 5000);
company.click();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用量角器测试angularjs应用

在 AngularJS 中使用量角器拖放

在AngularJS应用中使用量角器将文件上传到文件选择器

使用量角器执行异步脚本的 AngularJS 测试

如何在非angularjs网站上使用量角器?

使用量角器进行e2e测试angularjs(量角器交互模式制动器)

使用量角器测试AngularJS应用-如何在不使用ID的情况下获取HTML元素?

在phantomjs中使用量角器运行angularjs e2e测试时出现问题

如何使用量角器在AngularJS中唯一地标识相似元素?

如何使用Angularjs在量角器中选择可见元素

无法使用量角器从自动完成功能中选择值

使用量角器测试angularjs应用程序,当数组随着使用它而变化时,如何保持对element.all行之一的引用?

如何使用量角器测试 AngularJs,使用“粗体”修饰符可编辑,自 webdriver 更新以来已损坏

使用量角器在列表中选择第二个锚元素

使用量角器在包含特定文本的中继器中搜索元素

如何使用量角器选择组件元素?

无法遍历比较文本值的数组,使用量角器未定义结果

mouseover元素无法使用量角器工作

无法使用量角器webdriver-manager

单击图标无法使用量角器

如何在所有测试用例执行完后或使用带有Angularjs的Selenium服务器使用量角器关闭测试用例失败后如何关闭浏览器

无法使用量角器运行特定的规范文件

使用量角器“期望”

在使用量角器元素函数选择的元素上使用 then() 后,黄瓜量角器超时

量角器:模拟angularjs属性

用于测试angularjs的量角器

如何使用量角器测试日期选择器?

使用量角器在网页中搜索时发生超时错误

无法使用量角器在摩纳哥编辑器中获取文本