目录

第一步  安装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,内容如下:

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

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. }

上面提到的需要打开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. }

运行如下:

3.查看运行报告:

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

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

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

【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)的更多相关文章

  1. 环境搭建Selenium2+Eclipse+Java+TestNG_(一)

    第一步  安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下载Fi ...

  2. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明

    Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...

  3. 我的Java学习笔记 -开发环境搭建

    开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...

  4. Django学习笔记 开发环境搭建

    为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...

  5. cocos2d-x lua 学习笔记(1) -- 环境搭建

    Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...

  6. SpringData JPA的学习笔记之环境搭建

    一.环境搭建 1.加入jar包   spring jar+jpa jar +springData jar >>SpringData jar包     2.配置applicationCont ...

  7. Mybatis学习笔记之---环境搭建与入门

    Mybatis环境搭建与入门 (一)环境搭建 (1)第一步:创建maven工程并导入jar包 <dependencies> <dependency> <groupId&g ...

  8. 前端框架vue学习笔记:环境搭建

    兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...

  9. Web安全测试学习笔记 - vulhub环境搭建

    Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...

随机推荐

  1. Fuel UX wizard example

    <!DOCTYPE html> <html class="no-js fuelux"> <head> <meta charset=&quo ...

  2. js正则表达式

    正则表达式分析页面:https://regexper.com/ 可以很清楚的分析正则,加深理解 var reg=/\bis\b/; 'He is a boy.This is a dog.Where i ...

  3. JavaScript使用技巧(1)——JS常用的函数

    1.字符串对象函数和属性 函数: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat():连接字符串. indexOf( ...

  4. Dagger2 使用初步

    Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不 ...

  5. T-SQL语句简易入门(第一课)

    在微软官方,有一篇介绍T-SQL语句的教程,非常好理解,完全可以帮助新手入门,了解常用SQL语句的使用语法,而且又不涉及较为复杂的操作.不用安装示例数据库AdventureWorks.下面是教程里内容 ...

  6. 脚本改yum源

  7. Arduino 极速入门系列–1 点亮 LED

    本篇内容为,使用 Arduino 点亮 LED 的做法示范.很简单的一个入门示范.我们让 LED 闪. 本篇使用到的工具和材料 Arduino Mini Pro 1 PCS Mini USB 数据线 ...

  8. Vi指令,随时追加

    1.设置tab键的空格数 :set tabstop=4 2.显示行号 :set nu

  9. Openstack+Kubernetes+Docker微服务实践之路--弹性扩容

    服务上线就要顶的住压力.扛的住考验,不然挨说的还是我们这帮做事的兄弟,还记得上图这个场景吗 老办法是服务集群部署,但总归有个上限,之前跟阿里合作的时候他们有个弹性计算可以通过设置CPU的阀值来动态扩展 ...

  10. [Unity] Android插件

    1> 编写eclipse android代码. 2> 把unity下class.jar拷入eclipse libs目录下, 工程中右键build path, add to build pa ...