watir代码移植至watir-webdriver代码时需要注意的一些事项
watir代码移植至watir-webdriver代码时需要注意的一些事项
最近在把watir代码移植到watir-webdriver。移植过程中发现了,也总结了一些经验,志之并分享。
webdriver的wait方法。
watir的wait方法是稳定且smart的,基本上调用browser.wait方法是可以保证浏览器渲染并加载dom完毕的。但是webdriver的wait方法却不是这样。watir-webdriver的wait方法仅仅是等待浏览器状态栏出现compelete状态。在有些情况下,出现compelete状态后,浏览器还是没有加载完成的,这就导致页面上一些对象无法定位。
解决方法:可以在操作元素前调用element.waituntilpresent方法,该方法保证element可见(visible)和可以操作(enable)。
index base 0
watir webdriver中,collection元素的索引是从0开始的,比如
Watir::RowContainer.module_eval do def row_count rows.length endend