selenium和ajax的测试问题 博客分类: ruby on rails AjaxRailsRubyJavaScriptChrome
程序员文章站
2024-02-22 08:11:52
...
Hi,all
I am having doubts in selenium and ajax.
比如:我选择省份,需要等待一点时间才会出现省份下面的市,我才能选择县市,县市是通过选择省份之后触发ajax异步加载的,所以需要等待一点时间,我试着用wait_for_page_to_load()等待,会抛出Time out异常,后来又发现了wait_for_condition(),我就试着用了:
结果: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
I am having doubts in selenium and ajax.
比如:我选择省份,需要等待一点时间才会出现省份下面的市,我才能选择县市,县市是通过选择省份之后触发ajax异步加载的,所以需要等待一点时间,我试着用wait_for_page_to_load()等待,会抛出Time out异常,后来又发现了wait_for_condition(),我就试着用了:
ruby 代码
- require "functional_test_case"
- class FeedbackTest < FunctionalTestCase
- def test_view_feedback
- login_sh5
- @selenium.click "link=客户反馈信息列表"
- wait_default
- @selenium.type "customer_name", "常相聚"
- @selenium.select "province", "label=上海"
- @selenium.wait_for_condition("var allText=@selenium.get_body_text(); var expected_text='上海市'; allText.indexOf(expected_text)==1;",30000)
- @selenium.select "city", "label=上海市"
- @selenium.select "customer_type", "label=酒店"
- @selenium.select "time_period", "label=本月"
- @selenium.click "//input[@type='image']"
- wait_default
- @selenium.is_text_present("反馈信息内容")
- end
- end
结果: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