在编写经历多个页面的Selenium脚本时,如何处理时序?

时间:2012-06-21 21:44:02

标签: selenium selenium-webdriver web-testing

我希望这个问题不是太笼统。嗯,情况是我正在测试一个网络应用程序,我最终不得不使用setSpeed命令来延迟这些延迟。但我宁愿对它说“等待页面完成加载”,除了我不能完全这样做...因为它被重定向到带有随机URL的页面。

以下是它的一个示例(抱歉看起来有点难看):

setSpeed    7000    

open    router2/default.aspx?SID=9795d782-07d9-4fcc-a896-f79e30b2b800&FIRID=10DULKAR&SUMSTAT=1&PID=     

setSpeed    700     

click   xpath=(//input[@name='radio_43'])[2]    

setSpeed    4000    

clickAndWait    id=ctl00_Content_btnContinue    

setSpeed    7000    

verifyTextPresent   Post Qualification Logic    

clickAndWait    id=ctl00_Content_btnContinue    

type    name=numeric_42     19

clickAndWait    id=ctl00_Content_btnContinue    

click   xpath=(//input[@name='radio_51'])[5]    

clickAndWait    id=ctl00_Content_btnContinue    

click   xpath=(//input[@name='radio_2180'])[4]  

clickAndWait    id=ctl00_Content_btnContinue    

verifyTextPresent   Client Survey Entry

这就是为什么我把7秒钟延迟了。但它似乎缓慢/低效。

感谢

1 个答案:

答案 0 :(得分:1)

这取决于您使用的是标准HTTP重定向还是javascript / ajax执行。对于标准重定向,“clickAndWait”命令应该足够而不设置任何延迟。对于ajax执行,请使用wait_for_ajax技巧,如演示here