Selenium自动化测试环境搭建汇总(一):Selenium+Eclipse+Junit+TestNG
第一步 安装JDK
JDk1.7.
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
一路猛击‘下一步’,OK。安装完成后配置环境变量:
JAVA_HOME = E:\Java\Java\jdk1.7.0_15
PATH = %JAVA_HOME%\bin
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
配置完环境变量后,CMD命令行输入:java -version,返回如下结果,则表示安装成功:
第二步 下载Eclipse
下载地址:http://www.eclipse.org/download/
最新的Eclipse Standard 4.3, 198 MB,下载的都是不用安装的,解压出来后直接用。
第三步 下载Selenium IDE、SeleniumRC、IEDriverServer
下载地址:http://www.seleniumhq.org/download/
1、 Selenium IDE:selenium-ide-2.5.0.xpi 用来在Firefox上录制脚本。
2、 Selenium RC:selenium-server-standalone-2.40.0.jar 模拟服务器端,selenium 1.0执行脚本时需要单独启动该jar包, selenium webdriver无需单独启动。
3、 IEDriverServer:IEDriverServer_Win32_2.40.0.zip IE驱动
这里,我将下载得到的所有文件,全存放在E:\eclipse\selenium下面,方便管理:
第四步 下载Firefox
下载地址:http://www.firefox.com.cn/download/
下载得到文件:Firefox-latest.exe,最好是下载Firefox 25简体中文版,后续版本有人说通过Selenium会启动不了Firefox。
第五步 安装IDE、Firebug、Xpath checker、Xpath finder
安装完Firefox后,打开Firefox,把前面下载的selenium-ide-2.5.0xpi拖放到Firefox,弹出下图后,安装即可。
Firebug、Xpath checker、Xpath finder,打开firefox浏览器,选择工具――附加组件,打开附加组件管理器页面,搜索firebug、Xpath。
将查询到的firebug、xpath checker、xpath finder都装上,重启浏览器后生效:
SeleniumIDE、Firebug和xpath的用法,可以百度Selenium私房菜(新手入门教程).pdf,里面有很好的说明。
第六步 启动SeleniumRC
注意:selenium 1.0需要启动单独rc,webdriver则不需要启动。
启动seleniumRC的方法:
cmd命令行进入selenium-server-standalone-2.40.0.jar存放目录,输入如下命令
java -jar selenium-server-standalone-2.40.0.jar
为了方便,可以将启动命令写一个bat来执行,Run_selenium.bat,内容如下:
- @echo off
- cd E:\eclipse\selenium
- E:
java -jar selenium-server-standalone-2.40..jar
第七步 Eclipse执行Selenium的Java实例
-----7.1
打开Eclipse,新建一个工程File—new—Java Project
-----7.2
输入工程名:Selenum,next
-----7.3
接下来,窗口进入Java Settings,选择Libraries,点击Addlibrary。
引用Junit4的Jar包(E:\eclipse\plugins\org.junit_4.11.0.v2XXXX)。
然后点击Add External Jars..,
引用Selenium相关的包(E:\eclipse\selenium),最终Libraries如下:
完成后,Java视图如下:
-----7.4
右击src,new->package新建一个包Selenium_Test,
再右击包Selenium_Test,new->class,新建一个Class类Case1.java,最终效果如下:
-----7.5
下面我们来用IE浏览器执行一个实例,修改Case1.java,这里我们用selenium webdriver来写代码,代码如下:
- package Selenium_Test;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.ie.InternetExplorerDriver;
- import org.openqa.selenium.remote.DesiredCapabilities;
- public class Case1 {
- public static void main(String[] args) {
- System.setProperty("webdriver.ie.driver",
- "E:\\eclipse\\selenium\\IEDriverServer.exe");//注意这里IEDriverServer.exe的文件存放路径
- DesiredCapabilities ieCapabilities = DesiredCapabilities
- .internetExplorer();
- ieCapabilities
- .setCapability(
- InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
- true);
- //new一个webdriver对象
- WebDriver driver = new InternetExplorerDriver(ieCapabilities);
- //上面这一段是用来解决IE安全设置提示的
- //通过webdriver的get方法调用浏览器,打开网页:http://www.google.com.hk
- driver.get("http://www.google.com.hk");
- //通过页面元素的name=q定位到查询输入框
- WebElement element = driver.findElement(By.name("q"));
- //在输入框输入‘hello Selenium!’
- element.sendKeys("hello Selenium!");
- //提交查询
- element.submit();
- //等待,超时则抛出错误
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- //输出当前页面的title
- System.out.println("Page title is: " + driver.getTitle());
- //关闭所有webdriver进程,退出
- driver.quit();
- }
- }
-----7.6
右击Case1.Java,Run As—>Java Application,执行成功结果如下:
-----7.7
接着,我们换成用selenium 1.0来写代码,Case1_1.java代码如下:
- package Selenium_Test;
- import com.thoughtworks.selenium.*;
- public class Case1_1 {
- public static void main(String[] args)
- {
- DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com/");
- selenium.start();
- selenium.open("/");
- selenium.type("id=kw1", "selenium");
- selenium.click("id=su1");
- System.out.println("Page title is: " + selenium.getTitle());
- selenium.stop();
- }
- }
-----7.8
右击Case1_1.Java,Run As—>Java Application,执行成功结果如下:
-----7.9
上面提示不能连接服务器,下面我们先执行前面的Run_selenium.bat,启动selenium rc
-----7.10
再次右击Case1_1.Java,Run As—>Java Application,执行成功结果如下:
以上例子,展示了使用selenium webdriver和selenium 1.0写代码的执行区别。
两者打开浏览器用的方法不同,当然,还有其他的方法也不同。且1.0还得另外启动selenium rc
下面我们通过Junit来运行脚本,脚本需要修改一下,因为Junit的Java文件有它自己的格式。
第八步 Eclipse通过Junit执行Selenium的Java实例
-----8.1
右击Selenium_Test,new->Junit test case 新建一个Case2.java。
完成后如下:
-----8.2
修改Case2.java代码如下:
- package Selenium_Test;
- import org.junit.*;
- import org.openqa.selenium.*;
- import org.openqa.selenium.firefox.FirefoxDriver;
- public class Case2 {
- WebDriver driver;
- @Before
- public void setUp() throws Exception {
- driver = new FirefoxDriver();
- }
- @Test
- public void test_case2() throws Exception {
- driver.get("http://www.google.com.hk");
- WebElement element = driver.findElement(By.name("q"));
- element.sendKeys("hello Selenium!");
- element.submit();
- }
- @After
- public void tearDown() throws Exception {
- System.out.println("Page title is: " + driver.getTitle());
- driver.quit();
- }
- }
-----8.3
右击Case2.java,Run As—>Junit Test,执行成功结果如下:
第九步 Eclipse通过TestNG执行Selenium的Java实例
-----9.1
安装 TestNG
在 Eclipse 中,点击 Help -> Install new software ,在 add 栏中输入http://beust.com/eclipse,在下面就会看到 TestNG.选中点击安装,按下一步直到安装完,在线安装会有点很慢。
安装完重启Eclipse后,在 window->Show View->other 里面选中Java->TestNG,就会出现TestNG选项了。
-----9.2
右击包Selenium_Test,new->other->TestNG新建一个 TestNG 的测试类Case3.java。
完成后如下:
修改Case3.java脚本内容如下:
- package Selenium_Test;
- import org.testng.annotations.Test;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.testng.annotations.BeforeMethod;
- import org.testng.annotations.AfterMethod;
- import org.openqa.selenium.firefox.FirefoxDriver;
- public class Case3 {
- WebDriver driver;
- @BeforeMethod
- public void beforeMethod() {
- }
- @AfterMethod
- public void afterMethod() {
- System.out.println("Page title is: " + driver.getTitle());
- driver.quit();
- }
- @Test
- public void test_case3() {
- driver = new FirefoxDriver();
- driver.get("http://www.google.com.hk");
- WebElement element = driver.findElement(By.name("q"));
- element.sendKeys("hello Selenium!");
- element.submit();
- }
- }
-----9.3
右击Case3.java,Run as->TestNG Test,执行成功结果如下:
执行完,会生成一个test-output文件夹,文件夹下面的index.html就是测试报告,如下:
以上是在Eclipse下如何搭建Selenium的测试环境,包括直接执行.java,通过Junit执行.java,通过TestNG执行.java。
Selenium自动化测试环境搭建汇总(一):Selenium+Eclipse+Junit+TestNG的更多相关文章
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
- 《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)
1.简介 jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有ja ...
- 【转】selenium自动化测试环境搭建
转:http://blog.csdn.net/mao1059568684/article/details/17347853 第一步 安装JDK JDk1.7. 下载地址:http://www.orac ...
- 基于python的selenium自动化测试环境搭建
Windows下的环境搭建: 1.安装python2.7.152.cmd里敲pip install selenium3.安装firefox47.geckodriver11(并将geckodriver. ...
- 自动化测试环境搭建(appium+selenium+python)
一.需要安装的软件(根据你所需要的版本安装即可,不一定必须按照小编的版本来) JDK:1.8.0_171 Python:3.7.1 node.js:10.13.0 android-sdk_r24.4. ...
- python+selenium自动化测试环境搭建
selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: * 免费,也不用再为破解QTP而大伤脑筋 * 小巧,对于不同的语 ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- robotframework+python3+selenium自动化测试环境搭建---第一集
1.安装python3.6 1.1 可选择Customize installation自定义安装内容,记得要勾选Add to PATH(这样就不用自己配置环境变量了). 1.2 安装成功后,可以输入p ...
- Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python
前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...
随机推荐
- 第五篇:python高级之面向对象高级
python高级之面向对象高级 python高级之面向对象高级 本节内容 成员修饰符 特殊成员 类与对象 异常处理 反射/自省 单例模式 1.成员修饰符 python的类中只有私有成员和公有成员两 ...
- codevs1380 没有丧尸的舞会
/* 树形DP 而然我并不知道树在哪(....) f[x][0]表示x节点不参加舞会 以x为根的子树的最优解 f[x][1]表示x节点参加舞会 以x为根的子树的最优解 方程为:(so为x的儿子 so要 ...
- ASP.NET MVC 第五回 ActionResult的其它返回值
我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件.而它的返回类型是ActionResult如 public ActionResult Inde ...
- angularJS function
angular.bootstrap 启动Angular angular.element 相当于轻量的JQuery 使用方法: angular.element('#qq'); angular.eleme ...
- GridView 无数据时,绑定提示
private void BindData() { DataTable dt = DAO.RunSQLReturnDt(this.getsql()); int dtcount = dt.Rows.Co ...
- WPF RichTextBox 如何滚动到光标所在位置、滚动条操作
1.获取当前滚动条位置 //获取当前滚动条位置 richTextBox.VerticalOffset; richTextBox.HorizontalOffset; //获取当前光标位置 richTex ...
- CSRF 攻击的应对之道
转载自imb文库 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在 ...
- wpf 中DataGrid 控件的样式设置及使用
本次要实现的效果为: 这个DataGrid需要绑定一个集合对象,所以要先定义一个Experience类,包含三个字段 /// <summary> /// 定义工作经历类 /// </ ...
- IoC模式(控制反转)(转)
转自:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html,写的很好,用C#代码解释控制反转,然后更进一步,提到依赖注入是控制反转的 ...
- 前端html+css之第十四天
一.HTML 1.HTML是什么? Hypertext Markup Language, 中文也就是超文本链接标示语言. HTML是一套规则,一套浏览器认识的规则. 2.开发者: (1)学习Html规 ...