我的测试失败了:
WebDriverException:消息:未知错误:元素在点(1 786,183)处无法单击 . 其他元素将收到点击:<'div align =“right”> ... <'/ div>
我访问的xpath是:
${UPDATE} xpath=//button[@type='submit' and contains(text(),'Update')]
在关键字中使用:
wait until element is visible ${UPDATE}
click element ${UPDATE}
资源:
<div align="right">
<button type="submit" class="btn btn-primary ng-binding" ng-click="submitForm()" ng-disabled="updateDisabled">Update</button>
<button type="button" class="btn btn-primary" ng-click="reset(projectForm)" ng-disabled="updateDisabled">Reset</button>
</div>
但 the button is really clicked in the test - >数据已保存 - 所以没关系 . 我只是不明白为什么它在正确点击时抛出异常,我该怎么办才能让它通过..很明显,它找到了元素并点击它...我也尝试使用"wait until element is enabled"和"focus" ...谢谢你的任何建议! PS:我在异常中添加了字符"'"到div元素,否则这里没有显示.. :)
3 回答
怎么样:
wait until element is visible ${UPDATE} mouse down ${UPDATE} mouse up ${UPDATE}
为我工作了一些奇怪的表演元素..
虽然这样做非常糟糕,但我建议在测试用例周围放置几个
Sleep 1s
关键字,例如:只是为了调试并确保驱动程序不会绊倒自己 . (这是我遇到的问题)如果这样可以工作并通过,那么你将需要基本等待比按钮处于活动状态更长的时间 . 网页的另一部分需要更长时间才能加载吗?如果是这样的话 .
但是,当你可以的时候,摆脱关键词,因为这是非常糟糕的做法 .
我使用以下方法 .
找到页面完全加载后可见的元素 .
得到它的xpath
使用以下关键字:
这将帮助您避免在测试用例中使用
sleeps
.