无法使用 leftOf select 复选框
Unable to select the check box using leftOf
我正在尝试单击留给文本(作为服务器)的复选框。
我的 HTML 代码如下所示。
<td>
<input type="checkbox" ng-model="asset.isChecked" ng-change="selectEntity(filteredTableElements,asset.id)" class="ng-valid ng-dirty ng-valid-parse ng-empty ng-touched">
</td>
<td class="ng-binding">as-server</td>
上述代码段的 Ui
我浏览了空手道文档并尝试了多种方案,但其中 none 能够找到复选框。
场景 1:
* leftOf('{}as-server').find('input[type="checkbox"]').click
()
输出:评估 (js) 失败:leftOf('{}as-server').find('input[type="checkbox"]').click(),java.lang.RuntimeException:无法找到:{}as - 服务器,左侧,输入 [type="checkbox"]
堆栈跟踪:com.intuit.karate.driver.ElementFinder.find(ElementFinder.java:120)
场景 2:
* leftOf('{}as-server').click()
输出:评估 (js) 失败:leftOf('{}as-server').click(),java.lang.RuntimeException:无法找到:{}as-server,LEFT,INPUT
堆栈跟踪:com.intuit.karate.driver.ElementFinder.find(ElementFinder.java:120)
我是不是漏掉了什么?在空手道中还有其他方法吗?
谢谢!!
UI 测试并不容易。可能有很多原因,例如您正在使用的 Angular 可能会在页面上做一些额外的事情并隐藏元素区域。 “友好的定位器”在那里是为了方便,但如果它们不能开箱即用,您应该花一些时间进行故障排除。如果您遵循这个过程,我们可以改进框架,那就太好了:https://github.com/intuit/karate/tree/develop/examples/ui-test
所以也许你应该尝试另一种方法,而空手道会给你很多。例如:
* locate('{}as-server').previousSibling.firstChild.click()
我正在尝试单击留给文本(作为服务器)的复选框。
我的 HTML 代码如下所示。
<td>
<input type="checkbox" ng-model="asset.isChecked" ng-change="selectEntity(filteredTableElements,asset.id)" class="ng-valid ng-dirty ng-valid-parse ng-empty ng-touched">
</td>
<td class="ng-binding">as-server</td>
上述代码段的 Ui
我浏览了空手道文档并尝试了多种方案,但其中 none 能够找到复选框。
场景 1:
* leftOf('{}as-server').find('input[type="checkbox"]').click
()
输出:评估 (js) 失败:leftOf('{}as-server').find('input[type="checkbox"]').click(),java.lang.RuntimeException:无法找到:{}as - 服务器,左侧,输入 [type="checkbox"] 堆栈跟踪:com.intuit.karate.driver.ElementFinder.find(ElementFinder.java:120)
场景 2:
* leftOf('{}as-server').click()
输出:评估 (js) 失败:leftOf('{}as-server').click(),java.lang.RuntimeException:无法找到:{}as-server,LEFT,INPUT 堆栈跟踪:com.intuit.karate.driver.ElementFinder.find(ElementFinder.java:120)
我是不是漏掉了什么?在空手道中还有其他方法吗?
谢谢!!
UI 测试并不容易。可能有很多原因,例如您正在使用的 Angular 可能会在页面上做一些额外的事情并隐藏元素区域。 “友好的定位器”在那里是为了方便,但如果它们不能开箱即用,您应该花一些时间进行故障排除。如果您遵循这个过程,我们可以改进框架,那就太好了:https://github.com/intuit/karate/tree/develop/examples/ui-test
所以也许你应该尝试另一种方法,而空手道会给你很多。例如:
* locate('{}as-server').previousSibling.firstChild.click()