如何引入Jar 包——测之重器(6)

发表于:2017-8-10 15:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张俊卿    来源:51Testing软件测试网原创

分享:
  2.4 Selenium 测试组件
  Selenium 组件可以说是自动化测试框架的标配组件。如果说你们公司的自动化框架里没有Selenium 组件,那么你都不好意思和其他公司做自动化测试的人打招呼。就拿现在我为公司做的自动化框架来说,Selenium 组件根本没用到(现在用得较多的是Web Service 组件,2.8 节会有介绍),但必须要有,去年我向老外阐述我的自动化框架思想时,用的例子就是使用Selenium 测试网站。在那次会议中还面临着印度团队的竞争,不过有竞争才有动力,该项目最终没有被印度团队拿去。
  如果你选用FitNesse 去搭自动化框架,而你的老板要求这个框架必须要有Selenium 组件,问你多长时间能实现。思考一下,要实现这个组件得花时间研究Selenium 2、Selenium Grid、XPath 和CSS 语法、JavaScript 的DOM 取值、如何与FitNesse 集成,如此算下来至少得一个月吧。但程序员是很老实的人,也许你会懦懦地对老板说:“两到三个星期。”
  请尽管向你的老板多要些时间,当要到时间以后,请参考本节内容,用几个小时的时间搭建出具有国际标准的框架。剩下的时间,你可以逛网站、聊QQ、玩网游……当然前提是不能让你的老板发现。
  1.登录Xebium 网站:http://xebia.github.io/Xebium/,如图2-4-1 所示。请仔细阅读那些夸赞Xebium 有多么优秀的句子,透过这些去理解Xebium 是一个多么优秀的FitNesse 和Selenium 的集成框架。请记住这些句子吧,因为你要把这些句子说给你的老板听,让你老板明白你做的这个组件是多么优秀。
  2. 进入Xebium 代码库页面:https://github.com/xebia/Xebium/releases/tag/xebium-0.10,点击“下载zip”按钮,解压。右击Eclipse,如图2-4-2 所示,选择“导入”→“已存在的Maven 项目”来导入这个项目。
  图2-4-1 Xebium 网站
  图2-4-2 导入已存在的Maven 项目
  3.导入后,你会在Eclipse 项目栏里发现如图2-4-3 所示的类。在这些类中,seleniumDriverFixture.java 是主类,其他是从属类。
  (1)把Xebium 项目里的src/main/java 文件夹下所有包都复制到FitNesse 项目的src 目录下。
  图2-4-3 Xebium 类包结构
  (2)复制完成后,把以下jar 包放入FitNesse 项目里的lib 文件夹里。
  slf4j-api.jar
  selenium-java-2.29.1.jar
  selenium-firefox-driver-2.29.1
  selenium-server-standalone-2.37.0.jar( 这个jar 包从qing-automation找到)
  (3)用Eclipse 里的Build Path 导入这些jar 包。然后,在build.xml里的target name="compile-server" 下,把这些包配置进去,如图2-4-4 所示。
  图2-4-4 在build.xml 里导入依赖jar
  如果你不知道上面所述的这些包从哪里下载,可进入Xebium 项目里Build Path。在你导入Xebium到Eclipse 时,这些包已经下载到本地了,如图2-4-5 所示。
  图2-4-5 Eclipse 里导入依赖jar
  首先,打开tcc,用ant run 启动项目,并用下面的脚本创建一个新的案例。
  !***< Hidden
  !define TEST_SYSTEM {slim}
  ''' 此处导入后台代码包名'''
  !|import |
  |com.xebia.incubator.xebium|
  *!
  ''' 测试脚本'''
  !| script |selenium driver fi xture |
  |start browser|fi refox|on url |http://www.baidu.com/ |
  |ensure |do |open |on|/ |
  |ensure |do |type |on|!-//*[@id=”kw1”]-! |with |Xebium |
  |ensure |do |click |on|!-//*[@id=”su1”-!] |
  |ensure |do |waitForElementPresent|on|!-link=Get your webtests
  in FitNesse with Xebium | Xebia Blog-!|
  |stop browser |
  然后,单击“Test”按钮,看看程序能否正常运行,测试结果如图2-4-6 所示。
  图2-4-6 脚本测试结果
  我们再来回顾一下1.1 节,该节中的案例脚本实际上和这个脚本是一样的。
  到此,具有国际标准的Selenium 测试组件就搭建成功了。
  本人做的示例项目qing-automation( https://git.oschina.net/xhyspring/qing-automation)已包含此组件,欢迎大家下载研究。如果你有兴趣参与此项目的开发,可以在该网站注册,在评论里留下你注册的邮箱,我会给你增加developer 权限,这样你就可以用git 上传你的修改了。
  作业:
  1.在http://xebia.github.io/Xebium/ 网站,查看如何启动Xebium。Xebium 项目启动后,运行并研究 Project Xebium 这个Suite 下面的所有内容。然后选择几个放到FitNesse 里试运行。
  2.理清本节复制的代码,虽然不要求对每种方法都了熟于心,但要求知道每种方法的作用,如果以后有新的需求知道如何更改代码。
    3.打开https://github.com/helmbold/sulfur 网站,研究如何把Sulfur插件整入项目中。此外也可以研究一下hsac-FitNesse-fixtures 插件(https://github.com/fhoeben/hsac-fitnesse-fixtures)。

本文选自《测之重器——自动化测试框架搭建指南》第二章,本站经电子工业出版社和作者的授权。
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
开发测试组件——测之重器(5)
22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号