Watir webdriver和extjs寻找元素
我正在使用使用ruby的watir-webdriver进行验收测试我想问一下watir webdriver是否支持ExtJs? 我试图找到由ExtJS动态生成的元素。 我正在尝试做一些事情
@browser = Watir::Browser.new :chrome #Some step go to page @cbo = @browser.execute_script "return Ext.getCmp('cboCategory')"
但它不起作用请给我一些建议。 谢谢。
ExtJS页面很难测试,特别是在查找元素时。
以下是我认为有用的一些提示:
- 不要使用动态生成的ID。 喜欢
(:id, 'ext-gen1302')
-
不要使用绝对/无意义的XPath,比如
//div[4]/div[3]/div[4]/div/div/div/span[2]/span
-
利用有意义的自动生成的部分ID和类名称。
例如, 这个 ExtJS网格示例:(
(:css, '.x-grid-view .x-grid-table')
会很方便。 如果有多个网格,请尝试索引它们或找到可识别的祖先,例如(:css, '#something-meaningful .x-grid-view .x-grid-table')
。 -
在源代码中创建有意义的类名。 ExtJS为自定义类名提供了
cls
和tdCls
,因此您可以在源代码中添加cls:'testing-cmb-category'
,并通过(:css, '.x-panel .testing-cmb-category')
获取它。
我就这个主题做出的其他答案:
- 如何使用ExtJS在页面上找到元素的唯一选择器以与Selenium一起使用?
- 如何使用Selenium点击ExtJS中的元素?
- 在Watir中使用类名
- 如何在弹出窗口中单击没有名称,标签的复选框