【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)


目录

第一步  安装JDK

第二步 下载Eclipse

第三步 在Eclipse中安装TestNG

第四步 下载Selenium IDE、SeleniumRC、IEDriverServer

第五步 下载Firefox、安装Selenium IDE、firebug、Xpath checker、Xpath finder插件

第六步 启动SeleniumRC

第七步 Eclipse执行Selenium的Java实例

第八步 TestNG执行Selenium的Java实例

下载地址

 

 

第一步  安装JDK


下载地址:http://www.oracle.com/technetwork/java/javase/downloads/

1、下载步骤:

2、配置环境变量:

  JAVA_HOME = E:\Java\Java\jdk1.7.0_15

  PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

  CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

  注:上面这行的“.”不能忽略掉了。

3、验证是否安装成功:

第二步 下载Eclipse


下载地址:http://www.eclipse.org/downloads/

 

第三步 在Eclipse中安装TestNG


第1种方法:直接安装 Help->Install New Software

  

最后重启eclipse.

 第2种方法:离线安装

      1.下载附件(eclipse-testng离线包.zip),并解压;
      2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.8.6.20130607_0745放到eclipse--》features目录下;
      3.将解压后的文件..\eclipse-testng离线包\org.testng.eclipse_6.8.6.20130607_0745文件夹放到eclipse--》plugins目录下;
      4.重启eclipse.

验证方法:file-->new-->other-->TestNg

第四步 下载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驱动

这里,将下载得到的所有文件,全存放在d:\xxx\selenium下面,方便管理:

第五步 下载Firefox、安装Selenium IDE、firebug、Xpath checker、Xpath finder插件


下载地址:http://www.firefox.com.cn/download/

安装完Firefox后,打开Firefox:

1、安装Selenium IDE:

把前面下载的selenium-ide-2.5.0xpi拖放到Firefox,弹出下图后,安装即可。

 

2、安装firebug:工具-->附加组件,搜索firebug、Xpath,安装,重启火狐浏览器。

验证安装成功:

第六步 启动SeleniumRC


selenium 1.0需要启动单独rc,webdriver则不需要启动。(具体原因可自行百度或者参见我其他学习笔记)

启动seleniumRC的方法:
cmd命令行进入selenium-server-standalone-2.40.0.jar存放目录(或者进入selenium-server-standalone-2.40.0.jar存放目录然后在文档路径里输入cmd),然后输入如下命令
java -jar selenium-server-standalone-2.40.0.jar

为了方便,可以写一个批处理文件来执行,Run_selenium.bat,内容如下:

@echo off
cd E:\eclipse\selenium
E:
java -jar selenium-server-standalone-2.40.0.jar

第七步 Eclipse执行Selenium的Java实例


1.新建java工程:File-->new-->other-->Java Project

输入工程名,完成之后弹出选择视图模式的确认框,可以选NO。

2.引入Selenium相关的包:

在MyTest上右键,Properties-->Java Build Path-->Libraries-->Add External Jars

3.新建package和class:

在src上右键,new->package(名称为:Selenium_Java)

在Selenium_Java上右键,new->class(名称为:runasjavaapplication.java):

4.用selenium webdriver写代码如下:

   可以打开不同的浏览器,用以开展兼容性测试。

   注:用ie浏览器打开时会有个报错:

   

  解决办法是讲注释掉的30-34行的代码取消注释,注释掉36行的代码即可(代码中29行应为:System.setProperty("webdriver.chrome.driver", file_chrome.getAbsolutePath());   46行最好写成:my_dr.get("https://www.baidu.com");)。

 1 package Selenium_Java;  2 
 3 import java.io.File;  4 
 5 import org.openqa.selenium.By;  6 import org.openqa.selenium.WebDriver;  7 import org.openqa.selenium.chrome.ChromeDriver;  8 import org.openqa.selenium.firefox.FirefoxDriver;  9 import org.openqa.selenium.ie.InternetExplorerDriver; 10 import org.openqa.selenium.remote.CapabilityType; 11 import org.openqa.selenium.remote.DesiredCapabilities; 12 import org.testng.Assert; 13 
14 
15 /**
16  * @author : zmh 17  * @version :1.0 18  * @date :2016年03月06日 下午3:00:22 19  */
20 public class runasjavaapplication { 21 
22     public static void main(String[] args) throws InterruptedException { 23         
24         //-----------------------------打开火狐浏览器------------------------------------------------ 25         //WebDriver my_dr = new FirefoxDriver();// 打开火狐浏览器 原生支持的浏览器,但是不支持火狐高级的版本 26         
27         //-----------------------------打开Chrome浏览器---------------------------------------------
28         File file_chrome = new File("C:/Program Files/Google/Chrome/Application/chromedriver.exe"); 29         System.setProperty("webdriver.ie.driver", file_chrome.getAbsolutePath()); 30         //WebDriver my_dr = new ChromeDriver();// 打开chrome浏览器 31 
32         //-----------------------------打开IE浏览器--------------------------------------------------
33         File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"); 34         System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); 35         
36         //为 Internet Explorer 设置安全性功能,否则会遇到一个安全问题提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones" 37         //DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 38         //caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 39         //caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 40         //WebDriver my_dr = new InternetExplorerDriver(caps);// 打开ie浏览器
41         
42         WebDriver my_dr = new InternetExplorerDriver();// 打开ie浏览器 43 
44         //--------------------------------------------------------------------------------------- 45         //打开百度
46         my_dr.get("www.baidu.com"); 47 
48         Thread.sleep(1000); 49         //定位到百度的输入框
50         my_dr.findElement(By.id("kw")).sendKeys("G7物流地图"); 51         
52         Thread.sleep(1000); 53         //点击搜索
54         my_dr.findElement(By.id("su")).click(); 55         
56         Thread.sleep(1000); 57         //打印页面标题
58  System.out.println(my_dr.getTitle()); 59         //验证页面标题是否符合预期
60         Assert.assertEquals(my_dr.getTitle(), "G7物流地图_百度搜索"); 61         
62         Thread.sleep(1000); 63         // 关闭所有webdriver进程,退出
64  my_dr.quit(); 65  } 66 }
View Code

5.用selenium1.0写代码如下:

 1 package Selenium_Java;  2 
 3 import com.thoughtworks.selenium.DefaultSelenium;  4 
 5 /**
 6  * @author : zmh  7  * @version :1.0  8  * @date :2016年3月6日 下午12:28:31  9  */
10 public class runasjavaapplication_selenium1 { 11     public static void main(String[] args) { 12         //创建一个selenium对象,调用DefaultSelenium的构造器,传入参数,参数分别是:host:机器的ip地址、port:端口号、浏览器类型,url:要测试网站的链接
13         DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, 14                 "*iexplore C:\\Program Files\\Internet Explorer\\iexplore.exe", 15                 "http://www.baidu.com/"); 16 
17  selenium.start(); 18         selenium.open("http://www.baidu.com"); 19         selenium.type("id=kw1", "G7物流地图"); 20         selenium.click("id=su1"); 21         System.out.println("Page title is: " + selenium.getTitle()); 22  selenium.stop(); 23  } 24 }
View Code

上面提到的需要打开selenium rc还记得吗?打开之后就可以正常运行了。

第八步 TestNG执行Selenium的Java实例


 1.新建testng类:在工程上右键,new->other->TestNG(名称为:runastestng.java)

创建完成后如下:

2.写代码:

 1 package Selenium_TestNG;  2 
 3 import java.io.File;  4 
 5 import org.openqa.selenium.By;  6 import org.openqa.selenium.WebDriver;  7 import org.openqa.selenium.firefox.FirefoxDriver;  8 import org.openqa.selenium.ie.InternetExplorerDriver;  9 import org.openqa.selenium.remote.CapabilityType; 10 import org.openqa.selenium.remote.DesiredCapabilities; 11 import org.testng.Assert; 12 import org.testng.annotations.Test; 13 import org.testng.annotations.BeforeMethod; 14 import org.testng.annotations.AfterMethod; 15 import org.testng.annotations.BeforeClass; 16 import org.testng.annotations.AfterClass; 17 
18 /**
19  * @author : zmh 20  * @version :1.0 21  * @date :2016年3月6日 下午12:28:31 22  */
23 
24 public class runastestng { 25     
26     WebDriver mydr;// 申明全局变量。。。。。
27     
28  @Test 29   public void testng001() throws InterruptedException { 30     //-----------------------------打开IE浏览器--------------------------------------------------
31       File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"); 32       System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); 33         
34       //为 Internet Explorer 设置安全性功能,否则会遇到一个安全问题提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones"
35       DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 36       caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 37       caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 38       WebDriver my_dr = new InternetExplorerDriver(caps);// 打开ie浏览器 39       //打开百度
40       my_dr.get("www.baidu.com"); 41 
42       Thread.sleep(1000); 43       //定位到百度的输入框
44       my_dr.findElement(By.id("kw")).sendKeys("G7物流地图"); 45       Thread.sleep(1000); 46       //点击搜索
47       my_dr.findElement(By.id("su")).click(); 48         
49       Thread.sleep(1000); 50       //打印页面标题
51  System.out.println(my_dr.getTitle()); 52       //验证页面标题是否符合预期
53       Assert.assertEquals(my_dr.getTitle(), "G7物流地图_百度搜索"); 54       Thread.sleep(5000); 55             
56  } 57  @BeforeMethod 58   public void beforeMethod() { 59       //switchTo相关可以写在这里
60  } 61 
62  @AfterMethod 63   public void afterMethod() { 64     // 切换到主窗口、模擬刷新頁面
65  } 66 
67  @BeforeClass 68   public void beforeClass() { 69     //登陆相关可以写在这里
70  } 71 
72  @AfterClass 73   public void afterClass() { 74      //浏览器关闭可以写在这里
75  } 76 
77 }
View Code

运行如下:

3.查看运行报告:

当然,我们也可以继承IReporter类,使用监听器,达到美化报告的目的,这个以后再另外的笔记中补充。

注:搭建环境涉及到的安装包可以在这里下载,此链接永久有效(缺少包或者分享链接失效的可以私信我去添加和修改):

链接: https://pan.baidu.com/s/1kCvVq-KpCY-c9aOYoukjSQ 密码: hwui

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM