Javascript watirwebdriver和extjs查找元素
我正在使用ruby使用watir webdriver进行验收测试 我想问一下watir webdriver是否支持ExtJs? 我试图找到由ExtJS动态生成的元素。我试着做一些事情,比如Javascript watirwebdriver和extjs查找元素,javascript,ruby,extjs,selenium,watir,Javascript,Ruby,Extjs,Selenium,Watir,我正在使用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页面很难
@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.x-grid-view.x-grid-table')
- 在源代码中创建有意义的类名。ExtJS为自定义类名提供了
和cls
,因此您可以在源代码中添加tdCls
,并通过cls:“testing-cmb-category”
获得它(:css,.x-panel.testing-cmb-category')