Hi,all
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
分享到:
- 2007-08-13 15:51
- 浏览 6627
- 评论(5)
- 论坛回复 / 浏览 (5 / 8299)
- 查看更多
相关推荐
详细讲解了Selenium的基础知识、安装配置、元素定位方法(如CSS选择器、XPath、ID、Name等)、各种操作(如点击、输入、截屏)以及高级用法,如模拟用户事件、处理Ajax异步加载、框架和弹窗处理、测试报告生成等。...
Selenium自动化测试培训旨在提供全面的知识和技能,帮助学员掌握Selenium工具的使用,自动化测试脚本的设计,以及自动化测试框架的构建。 ### 自动化测试基础 在开始学习Selenium之前,理解自动化测试的基本原理至...
Selenium2Library 提供了多种测试类型,包括浏览器交互测试、表单测试、Ajax 测试等。 Robot Framework 和 Selenium2Library 的集成 Robot Framework 和 Selenium2Library 的集成提供了一个强大 的自动化测试解决...
在这个“selenium-06-ajax的介绍.ev4”教程中,你将深入学习如何使用Selenium来测试和控制使用Ajax技术的网页。视频“selenium-06-ajax的介绍.ev4.mp4”可能会涵盖以下几个关键点: 1. **Ajax基础**:首先,会讲解...
此外,还会涉及Django的测试框架,教你如何编写单元测试和集成测试,以确保你的Django应用能够按照预期工作。 其次,Selenium是一个用于Web应用程序自动化测试的工具,特别适用于浏览器兼容性和用户界面的测试。书...
《Selenium2 Python 自动化测试实战》是一本专注于使用Python和Selenium2进行Web自动化测试的专业书籍。这本书详尽地介绍了如何利用Selenium2这个强大的工具,配合Python语言,来构建高效、可靠的自动化测试框架,以...
《Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程(第2版)》是一本详尽探讨如何在Web开发中应用测试驱动开发(TDD)技术的专业书籍。这本书不仅涵盖了Python语言的基础,还深入讲解了Django框架...
4. **进阶篇**:随着对Selenium理解的深入,书中可能会讲解更复杂的操作,如处理弹出框、模拟键盘和鼠标事件、处理Ajax异步加载页面、实现页面对象模式等,提升测试脚本的可维护性。 5. **实战篇**:项目代码部分...
动态元素测试针对那些标识符会变化的元素,而Ajax测试则需关注页面无刷新更新的情况,确保异步操作的正确性。 总之,Selenium自动化测试用例设计需要全面考虑UI元素的处理、测试流程的控制、结果的分析和反馈,以及...
总的来说,Selenium虽然主要设计用于Web UI测试,但通过JavaScript执行和数据解析,它也能有效地封装和处理POST请求,这对于测试涉及异步请求的场景尤其有用。不过,如果仅关注HTTP请求,更推荐使用像`requests`这样...
以上只是Selenium部分功能的概述,实际应用中还有更多高级技巧和场景,如模拟鼠标和键盘动作、处理iframe、处理Ajax异步请求等。" Selenium python之学习笔记-示例html文件 "可能包含了这些概念的实际代码示例,通过...
通过本文档,读者可以学习如何安装和启动 Selenium IDE,如何使用 Selenium IDE 创建和运行测试用例,如何使用 Selenese 脚本语法编写测试套件等。 一、Selenium IDE 的安装和启动 Selenium IDE 可以从 SeleniumHQ...
在IT行业中,Selenium是一个广泛使用的自动化测试工具,主要用于Web应用程序的测试。...观看此视频将有助于提升你在Selenium和Ajax交互方面的技能,使你能更好地自动化测试包含Ajax功能的Web应用程序。
- **Selenium IDE**:是一个 Firefox 插件,用于录制和回放测试脚本,适合于快速原型设计或简单的测试场景。 - **Selenium RC (Remote Control)**:提供了一种方式来控制浏览器行为,并执行测试脚本。RC 支持多种...
读者可以从中学习到如何处理复杂场景,比如模拟用户输入,处理JavaScript弹出框,执行AJAX请求后的测试,或者如何利用Selenium Grid进行分布式测试,以提高测试效率。这本书可能还包括了一些高级话题,如测试设计...
**Selenium 概述** Selenium 是一个强大的开源自动化测试框架,主要用于Web应用程序的测试。它支持多种编程语言,如Java、Python...通过熟练掌握Selenium,开发者可以极大地提升测试效率,确保产品的稳定性和可靠性。
Selenium作为自动化Web测试领域的佼佼者,不仅能够处理基本的静态网页测试,还能够有效应对Ajax和Dojo框架带来的挑战。通过使用`Wait`类、`waitForCondition`方法以及针对特定框架的选择器和API,Selenium为测试...
这可能涉及到元素的等待策略,如显式等待和隐式等待,以解决网页加载时间不确定导致的测试失败问题。此外,你还会接触到测试框架的搭建,如使用Page Object模式来提高代码的可维护性和可复用性,以及如何利用TestNG...