写在之前
之前在 coding 的博客上发了 “ codingUI 测试的那些事”,可能不少人觉得有点水,或是有点泛泛而谈不够具体。下面这个系列就具体讲讲如何开发 UI 测试。我想以一个开发者的视角来写这个系列,可以说是开发实录吧。有几点还是要先声明下的:
- 自动化测试有很多实现方案,本文使用的框架组合是 maven + junit + selennium ( java )。系统环境是 windows 8.1
- 示例代码只是参考不是范式,很希望有大神可以帮我修改他觉得写的不好的代码,然后 pull request 上来,先万分感谢, 这些示例源码可以在 https://coding.net/u/ciwang/p/selenium-TestStudy/git 下载
准备开发
开发工具
“工欲善其事,必先利其器”。好的开发工具往往让开发事半功倍。现在流行的 java 开发工具主要有 IntelliJ IDEA 和 Eclipse.个人感觉是 IntelliJ IDEA 比较智能方便,Eclipse 的强大在于它可以安装很多很棒的插件。鄙人没啥心思去研究这些插件,所以还是选择了比较傻瓜的 IntelliJ IDEA。
下载地址:https://www.jetbrains.com/idea/
构建工具
这里我选的构建工具是 maven 。 使用构建工具的好处在于它们可以自动帮你加载jar包,编译,运行,打包,发邮件,生成报告等工作。 虽然这些工作可以由 IDE 来做,但是你不能要求每个要跑这段程序的机器上都装个 Idea 来启动程序。
下载地址:apache-maven-3.3.3-bin.zip
配置 maven
打开系统环境变量设置:
M2_HOME:D:\workspace\maven\apache-maven-3.0.5
Path:;%M2_HOME%/bin;
检查是否成功,打开CMD:
mvn -v
其他
java 1.7+ JDK, firefox 31.0 浏览器(不同版本的浏览器和 selenium 2.42.2 会对程序的运行有影响,例如鼠标 hover 事件)
开始开发
新建项目
打开 IDEA,File -> New Project 选择 maven 项目,选好 jdk 点击下一步。 如下图所示,
![](https://img.haomeiwen.com/i49690/11ed8586d20c5e60.png)
添加项目依赖
所谓的添加项目依赖,就是用 maven 去下载开发所需的 jar 包,这里主要是添加 selenium 和 junit。首先要设置 idea 的 maven 仓库 打开 pom.xml, 添加如下代码:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.42.2</version>
</dependency>
</dependencies>
然后右击,再点击 maven, 选择 reimport, 搞定。
![](https://img.haomeiwen.com/i49690/839684e6ad9f10f5.png)
![](https://img.haomeiwen.com/i49690/a15e4f9e5192d621.png)
点击右键,选择 run java。 就可以看到启动了浏览器进入 coding 的主页了。第一次往往要下载很多 jar 包需要等待很久。
![](https://img.haomeiwen.com/i49690/31244a51f7716e2b.png)
FQA
1.firefox 浏览器配置找不到或者 webdriver 连接超时
这个问题主要是浏览器版本和 selenium 版本对不上造成的,本人亲测比较稳定的版本组合是 firefox 31 和 selenium 2.42.2
还有就是 firefox 没有安装到指定目录(C:\Program Files (x86) )。如果没有指定 firefox 的路径,selenium 会直接到这个这个目录下找 firefox, 找不到的话就报错。
你可以通过以下代码指定启动路径:
System.setProperty("webdriver.firefox.bin", "firefoxpath\\firefox.exe");
WebDriver webDriver = new FirefoxDriver();
2.如何使用 chrome 浏览器
selenium 没有集成 chrome 的 webdriver 需要自己添加依赖,下载 chromedriver.exe
然后添加 如下代码指定 chromedriver 的路径
System.setProperty("webdriver.chrome.driver","chromedrierpath\\chromedriver.exe");
ChromeDriver chromeDriver = new ChromeDriver();
网友评论