浏览 8300 次
锁定老帖子 主题:selenium和ajax的测试问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-13
I am having doubts in selenium and ajax. 比如:我选择省份,需要等待一点时间才会出现省份下面的市,我才能选择县市,县市是通过选择省份之后触发ajax异步加载的,所以需要等待一点时间,我试着用wait_for_page_to_load()等待,会抛出Time out异常,后来又发现了wait_for_condition(),我就试着用了: ruby 代码
结果:Exception: 对象不支持此属性或方法 我觉得是@selenium.wait_for_condition("var allText=@selenium.get_body_text(); var expected_text='上海市'; allText.indexOf(expected_text)==1;",30000)这里不能识别@selenium,但是我看到指南上都是这样用的,难道我错了? 因为大量应用了ajax效果,所以不解决此问题很多测试都无法进行 Thanks in advance 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-15
知道了,可以这样用:
ruby 代码
但是selenium-server不能执行rails的remote_function生成的ajax: new Ajax.Request ()也即Prototype.js Ajax object而 导致Exception: Timed out 我还注意到了一个问题,selenium-server跑测试的时候没有加载图片和css样式。 所以,可能也加载不到javascript文件,包括Prototype.js。因而导致无法执行ajax |
|
返回顶楼 | |
发表时间:2007-08-16
用了变态的方式解决了
<%= javascript_include_tag :defaults %> 这是导入需要的所有js文件,但是selenium-serve不能加载到 加上http://localhost:3000/,也就是sever地址 <script src="http://localhost:3000/javascripts/prototype.js" type="text/javascript"></script> 这样selenium-server就可以把js文件loaded上了 |
|
返回顶楼 | |
发表时间:2007-08-16
I can't seem to use Selenium Core to upload a file; when I try to type in the file upload text field, nothing happens!
Unfortunately, this is yet another JavaScript security restriction; JS is not allowed to modify the value of <input type="file"> form fields. You can work around this by running your tests under Selenium IDE or under Selenium RC running in the experimental "*chrome" mode for Firefox, but at present there is no way to do this on any other browser. This is filed as bug SEL-63, but there may be no way to fix it in Selenium Core. |
|
返回顶楼 | |
发表时间:2007-08-16
wait_for_text_present
|
|
返回顶楼 | |
发表时间:2007-08-16
gigix 写道 wait_for_text_present
wait_for_text_present在selenium RC里面没有,它在Selenium on Rails里面 但是我没用Selenium on Rails Selenium on Rails是不是已经包含selenium ruby? 但是貌似语法格式跟selenium RC很不一样 |
|
返回顶楼 | |