我使用量角器进行e2e测试。我想点击按钮
答案 0 :(得分:1)
你有没有理由不使用Protractor API,而是直接使用驱动程序?通过ng-click选择可能不是最好的方法(好的做法似乎是根据页面结构选择,而不是机制),我建议你调查一下你是否不能简单地使用by.buttonText:< / p>
element(by.buttonText('Place Order'));
编辑:查看选择器的制作方式,以上操作无效 - 请注意 by.buttonText仅匹配:
我将此保留给将来可能需要此功能的任何人。
如果这不起作用,也许你至少可以按课程选择它,例如在父母的内心?例如:
element(by.css('.btn-wrapper > .btn:nth-child(2)'));
另外,考虑为按钮添加一个单独的类/ id,无论如何它可能会有用。
最后一点,如果您要测试一个大页面,请考虑使用page objects,而不是在单独的步骤中选择相同的内容。这样,您将拥有一个可以使用的漂亮,可维护的对象,而不是编写选择器,而不是:
myPage.placeOrderButton().click();
需要考虑的事情。
答案 1 :(得分:0)
下订单按钮:
$('[ui-sref="main.store.featured"]').click();
取消按钮:
rails new app_name
bundle install
rake db:create
答案 2 :(得分:0)
这应该有效:
element(by.css('[ng-click="ctrl.placeOrder()"]')).click();
答案 3 :(得分:0)
我认为这里最简单,最易读的方法是按文字找到元素:
element(by.xpath('//div[. = "Place Order"]'));
您可能只需要添加wait for element to become visible:
var EC = protractor.ExpectedConditions,
placeOrder = element(by.xpath('//div[. = "Place Order"]'));
browser.wait(EC.visibilityOf(placeOrder), 5000);
placeOrder.click();
答案 4 :(得分:0)
我不知道这是否会有所帮助,但我找到了一篇文章,其中有人点击div时遇到问题。只需单击一个div似乎有点多,但我认为该链接可以帮助你
https://adventuresintesting.wordpress.com/tag/protractor-doesnt-click-div/