如何使用Selenium记录基于ajax的站点
我有一个网站,其中有大量的ajax,并需要自动化。但是,我不能正确地记录网站的ajax部分。我尝试了waitfor关键字,但失败了。我也浏览了下面的网站,但无法理解如何将代码应用于MyEclipse 有人有关于如何测试ajax应用程序的好教程吗如何使用Selenium记录基于ajax的站点,ajax,selenium,selenium-ide,selenium-grid,Ajax,Selenium,Selenium Ide,Selenium Grid,我有一个网站,其中有大量的ajax,并需要自动化。但是,我不能正确地记录网站的ajax部分。我尝试了waitfor关键字,但失败了。我也浏览了下面的网站,但无法理解如何将代码应用于MyEclipse 有人有关于如何测试ajax应用程序的好教程吗 提前感谢Ajax使用Selenium有点混乱。你的问题没有简单的答案,但我有一些建议 您需要使用大量这些循环来等待操作/更新等: for (int second = 0;; second++) { if (second &
提前感谢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的页面在输入文本框的字符上多次触发事件,然后selenium.type(“elementID”,“12345”)代码>不会为您更改它。类型键(“elementID”,“12345”)代码>将触发事件
使用FireFox和firebug,使用javascript调试器分析后台发生的事情。我更喜欢使用Chromes Inspect调试器。与开发人员交谈,找出某些元素等的触发因素
其次,您可以看看Selenium 2.0的最新版本。web驱动程序应该能够更好地处理Ajax请求,但我还没有时间使用它
所以简而言之,您必须自己编写大量代码并修改记录的部分。。如果有些商业应用程序不能更好地处理某种类型的Ajax,那么它就不起作用了。如果您使用的是XPath,那么它就不起作用了。试试CSS定位器。我在RC中使用了Sizzle.js定位器,它在所有ajax元素中都运行良好
对于IDE,您可以选择可用的插件,也可以编写自己的插件,并使用user-extensions.js选项进行插件