selenium.click("gwt-uid-204"); // this is recorded from Selenium IDE
Run Code Online (Sandbox Code Playgroud)
我点击了我的(gwt)java应用程序中的复选框.gwt-uid正在改变,所以如果id改变了,那么我的应用程序中找不到我的元素.正则表达式对我不起作用,我不确定我做错了什么.谢谢你的帮助
selenium.click("gwt-uid-[0-9]);
Run Code Online (Sandbox Code Playgroud)
我正在使用selenium 1.0.3,Java
Vin*_*d R 15
许多GWT元素都带有ensureDebugId(UIObject上的方法),允许您将Ids显式设置为元素以进行测试和调试.您还需要继承该模块
<inherits name="com.google.gwt.user.Debug"/>
Run Code Online (Sandbox Code Playgroud)
使它工作.这样做的好处是,您可以通过在prod模式编译期间删除继承的模块来从生产部署中删除跟踪.因此,不会有代码更改来删除不必要的ID.
你可以用3/4方式完成它可以检查这个链接: 3种处理GWT动态元素ID的 方法,它讨论了为GWT元素分配静态id的3种不同方法.
此外,您可以编写一个自定义的javascript方法,它将动态获取所有ID.然后,您可以处理这些硒动作的ID.
有两种可能的解决方案。第一个是通过说 regex:gwt-uid-[0-9] 告诉 Se 您正在使用正则表达式。正如您所看到的,它正在查找名称或 id 是该文字字符串的 and 元素。
另一个解决方案是为我在http://element34.ca/blog/google-web-toolkit-and-id中讨论的内容启用静态 id 。
-亚当
| 归档时间: |
|
| 查看次数: |
8084 次 |
| 最近记录: |