- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Selenium框架进行复杂Web应用的自动测试.doc
在复杂 Web 应用程序的自动测试中,会产生大量冗余的测试脚本,同时,由于测试场景复杂多变,测试用例的灵活管理与调用是不可回避的需求。在本文中,作者通过将开源 Web 自动测试框架 Selenium 从逻辑上进行了分层,从而提高了测试脚本的复用性与可维护性。通过本文的实例讲解,您将了解该项技巧的原理与关键实现。Selenium 概述
Selenium 是一种 Web 应用的自动测试工具,通过模拟用户对 Web 页面的各种操作,可以精确重现软件测试人员编写的 Test Cases 步骤。Selenium 包含三个工具:Selenium-IDE,Selenium-RC 以及 Selenium-Core。其中,Selenium-Core 是驱动 Selenium 工作的核心部分,作为一个用 JavaScript 编写的测试引擎,它可以操作 Web 页面上的各种元素,诸如:点击按钮、输入文本框,以及断言 Web 页面上存在某些文本与 Web 元素等。
Selenium-IDE 是一个 Firefox 插件,能够录制回放用户在 Firefox 中的行为,并把所记录的 Selenese (Selenium Commands) 转化为 Java/C#/Python/Ruby 等语言,在 Selenium-RC 中修改复用。对于较为复杂的 Test Cases,Selenium-IDE 的功能有限,往往用它录制大致的步骤,再转化为测试人员熟悉的编程语言,在此基础上完善,形成更为强大且灵活的 Selenium-RC Test Cases。
Selenium-RC(Selenium Remote Control)在 Web 浏览器与需要测试的 Web 应用间架设代理服务器(Selenium Server),使得 JavaScript 引擎与被测 Web 应用同源,绕开同源策略的限制(Same Origin Policy),进而取得对 Web 页面进行各种操作的权限。
开发环境配置
以 Java 作为测试用语言为例,在 Eclipse 中新建一个 Java 项目 Test Search Engine,下载 Selenium-RC 软件包,把 selenium server/selenium java client driver 的 Jar 以及 JUnit 库加入到该项目的 Java Build Path。
图 1. Build Path 配置
启动 Selenium-Server,可以在命令行中使用 java -jar 命令直接运行可执行 Jar 包(对于中文 Windows 操作系统且 使用 IBM JDK,还需要加参数 -Dibm.stream.nio=true)。如果想在 Java 程序中启动/停止 Selenium-Server,首先,新建一个 RemoteControlConfiguration 对象 rcc,并指定远程控制参数(包括配置 Selenium Server 的监听端口,Firefox 浏览器的 Profile 等),然后新建一个 SeleniumServer 对象,把 rcc 传入 SeleniumServer 的构造函数(对于中文 Windows 操作系统且使用 IBM JDK,在 Eclipse 的 Run Configurations 的 VM arguments 中加入 -Dibm.stream.nio=true)。
清单 1. 使用 Java 启动 / 停止 Selenium Server
RemoteControlConfiguration rcc = new RemoteControlConfiguration(); rcc.setPort(4444); // 指定 Selenium Server 开放端口 SeleniumServer SELENIUM_SERVER; SELENIUM_SERVER = new SeleniumServer(rcc); SELENIUM_SERVER.start(); // 启动 server // 测试代码 SELENIUM_SERVER.stop(); // 停止 server
此外,Selenium Server 还可以通过 Ant 脚本来控制启动/停止,这提供了另一种灵活而强大的项目控制方式。
清单 2. 使用 Ant 脚本启动 / 停止 Selenium Server
!-- START SERVER-- =ARGS value=-Dibm.stream.nio=true -log selenium.log -browserSideLog / =start-server echo message=Starti
您可能关注的文档
最近下载
- 七上历史早背晚默小纸条.pdf VIP
- 《住院患者身体约束的护理》团体标准解读.pptx VIP
- 安装施工员工作职责内容(32篇).docx VIP
- 气凝胶隔热保温纳米涂料-气凝胶基础材料项目可行性研究报告.doc VIP
- 中心学校校园安全治本攻坚三年行动实施方案(2024-2026).pdf VIP
- 电动升降式高杆灯安装使用说明书.doc VIP
- GB50257-2014 电气装置安装工程 爆炸和火灾危险环境电气装置施工及验收规范.pdf VIP
- 【备战25年高考数学】解答题06 10类导数答题模板(原卷版) (2).docx VIP
- 《思想道德与法治》课件——专题6 遵守道德规范 锤炼道德品格.pptx VIP
- 【备战25年高考数学】解答题01 7类解三角形答题模板(解析版).docx VIP
文档评论(0)