量角器使用定位器找不到任何元素:by.buttonText

时间:2017-04-05 11:36:53

标签: angularjs jasmine protractor

使用量角器运行一个简单的结束测试,加载页面,单击按钮,然后单击按钮导航到下一页但我收到以下错误     使用定位器找不到任何元素:by.buttonText(注册为买方) 这是按钮后面的HTML



<a href="/register/buyer" class="btn" data-ss1491391037="1">
                    Register as a Buyer</a>
&#13;
&#13;
&#13;

来自我的量角器文件的片段

&#13;
&#13;
element(by.buttonText("Register as a Buyer")).click();
&#13;
&#13;
&#13;

不确定我在这里失踪了什么,或者我应该改变什么,我是Protractor的新手。 我能够使用不同的按钮获得上面类似的东西,除了按钮在HTML代码中分配了一个值,而上面没有。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您尝试点击的元素不是button,而是链接。因此,by.buttonText将不起作用...您可以使用以下之一:

element(by.cssContainingText('.btn', 'Register as a Buyer')).click();

或者如果您只有一个.btn链接:

$('.btn').click();

或者你可能有很多按钮,但想点击第一个按钮:

$$('.btn').first().click();

答案 1 :(得分:1)

与按钮类似,量角器还具有基于文本识别锚标签的特殊方法。尝试使用by.linkText()by.partialLinkText()

相关问题