ExtJS UI自动化测试的另一个受害者,这是我专门用于测试ExtJS的技巧。(但是,这不会回答您标题中描述的问题)
提示1: 永远不要使用像这样的不可读的XPath
/div[4]/div[3]/div[4]/div/div/div/span[2]/span。源代码的微小更改可能会导致DOM结构更改。这将导致巨大的维护成本。
提示2: 利用有意义的自动生成的部分ID和类名。
例如,该
ExtJS的电网例如:
By.cssSelector(".x-grid-view .x-grid-table")将方便。如果有多个网格,请尝试为它们建立索引或找到可识别的祖先,例如By.cssSelector("#something-meaningful .x-grid-view .x-grid-table")。提示3: 在源代码中创建有意义的类名。ExtJS提供
cls并提供
tdCls了自定义类名,因此您可以添加
cls:'testing-btn-cancel'源代码,并通过进行获取
By.cssSelector(".testing-btn-cancel")。Tip3 是最好的也是最后一个。如果您没有源代码,请与您的经理联系,Selenium
UI自动化对于那些可以修改源代码的人确实应该是开发人员的工作,而不是像最终用户那样的测试人员。



