停止更新,敏捷测试及TestOps解决体系,关注订阅号TestOps
selenium中的一个简单处理AJAX方法
上一篇 /
下一篇 2010-06-20 09:42:55
/ 个人分类:自动化测试
&YL&N3J+J*K!?0最近在做selenium的一些演示中遇到了一些问题,网站登陆后的页面刷新是通过一个AJAX实现的,中间会有一个小窗口提示等待刷新,但selenium会出现无法读取下一个页面中内容,导致click登陆后的链接出现找不到对象的问题。51Testing软件测试网/jC$p"D^*Rk
51Testing软件测试网:T
~[tR9Zr_一般解决这个问题我以前都用强行刷新一个页面的方式来解决。selenium.open来强制刷新需要点击的页面地址,来解决selenium.click无法访问的问题,ajax的刷新一般需要一点时间,那么能不能强行等待ajax的刷新呢?51Testing软件测试网&sf:z1jW;^7M
c;?B8J
G$L$c"? lo*D0selenium自身没有函数做任何等待操作,所以这里需要依赖于开发语言
;t?.w{X5v051Testing软件测试网b5jI&T:rG%UI Qv在c#下可以使用
$dQms\'l+w7V0System.Threading.Thread.Sleep(4000);51Testing软件测试网*g JcP
yE-Jl0a9x;~
来让代码等待4秒,等待ajax刷新后再进行click操作。
|s*IZ:I Ii,E/q? o:h051Testing软件测试网`"b%S#|s"q这里需要注意的是如果是在外网会因为服务器的处理或者网络延时导致ajax刷新的速度不确定,sleep的时间可能需要放长。不过一般自动化测试都是本地服务器,所以可以很精确的控制刷新时间。
a+U;^Q"Qf9D-v` s051Testing软件测试网,DHOoG该方法在vs2010+selenium cr下测试成功。
KV"gL
`Sy0
收藏
举报
TAG: