我有一个网站,其中有很多ajax,并且需要自动化。但是,我无法正确记录该网站的某些部分。我尝试了waitfor关键字并失败。我也浏览了以下网站http://www.ibm.com/developerworks/opensource/library/os-webautoselenium/index.html,但是无法知道如何将代码应用到MyEclipse。如何使用Selenium记录基于Ajax的网站
有没有人对如何测试Ajax应用程序的一些好的教程?
在此先感谢
我有一个网站,其中有很多ajax,并且需要自动化。但是,我无法正确记录该网站的某些部分。我尝试了waitfor关键字并失败。我也浏览了以下网站http://www.ibm.com/developerworks/opensource/library/os-webautoselenium/index.html,但是无法知道如何将代码应用到MyEclipse。如何使用Selenium记录基于Ajax的网站
有没有人对如何测试Ajax应用程序的一些好的教程?
在此先感谢
Ajax与Selenium有点混乱。有没有简单的回答你的问题,但我有几个小技巧..
您将需要使用大量的这些循环的等待动作/更新等:
for (int second = 0;; second++) {
if (second >= 60) log.error("Timeout (60 seconds) while submitting request");
try { if (selenium.isElementPresent("elementID")) break; } catch (Exception e) {}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
而且启用Ajax的网页有很多时候,字符被输入到TextBox中触发的事件例如,然后selenium.type("elementID", "12345");
不会为你。 typeKeys("elementID", "12345");
将触发事件。
与Firefox和萤火虫,使用JavaScript调试器来分析一下在后台发生。我更喜欢使用Chromes Inspect调试器。谈谈你的开发人员找出什么触发某些元素等
其次,你可以对硒2.0的最新版本看看。网络驱动程序应该更好地处理Ajax请求,但我还没有时间去处理。
因此,在短期,你必须通过你自己写很多代码和修改记录的部分。如果不工作在那里的一些商业的,更好地处理某些类型的Ajax的。
如果你使用XPath,那么它将无法工作。尝试CSS定位器。我在RC中使用了Sizzle.js定位器,它在所有ajax元素中运行良好。
对于IDE,你可以去可用的插件或者自己写和使用用户extensions.js选项插入。