【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)
目录
第三步 在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");)。
package Selenium_Java; import java.io.File; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert; /**
* @author : zmh
* @version :1.0
* @date :2016年03月06日 下午3:00:22
*/
public class runasjavaapplication { public static void main(String[] args) throws InterruptedException { //-----------------------------打开火狐浏览器------------------------------------------------
//WebDriver my_dr = new FirefoxDriver();// 打开火狐浏览器 原生支持的浏览器,但是不支持火狐高级的版本 //-----------------------------打开Chrome浏览器---------------------------------------------
File file_chrome = new File("C:/Program Files/Google/Chrome/Application/chromedriver.exe");
System.setProperty("webdriver.ie.driver", file_chrome.getAbsolutePath());
//WebDriver my_dr = new ChromeDriver();// 打开chrome浏览器 //-----------------------------打开IE浏览器--------------------------------------------------
File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); //为 Internet Explorer 设置安全性功能,否则会遇到一个安全问题提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones"
//DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
//caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
//caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
//WebDriver my_dr = new InternetExplorerDriver(caps);// 打开ie浏览器 WebDriver my_dr = new InternetExplorerDriver();// 打开ie浏览器 //---------------------------------------------------------------------------------------
//打开百度
my_dr.get("www.baidu.com"); Thread.sleep(1000);
//定位到百度的输入框
my_dr.findElement(By.id("kw")).sendKeys("G7物流地图"); Thread.sleep(1000);
//点击搜索
my_dr.findElement(By.id("su")).click(); Thread.sleep(1000);
//打印页面标题
System.out.println(my_dr.getTitle());
//验证页面标题是否符合预期
Assert.assertEquals(my_dr.getTitle(), "G7物流地图_百度搜索"); Thread.sleep(1000);
// 关闭所有webdriver进程,退出
my_dr.quit();
}
}
5.用selenium1.0写代码如下:
package Selenium_Java; import com.thoughtworks.selenium.DefaultSelenium; /**
* @author : zmh
* @version :1.0
* @date :2016年3月6日 下午12:28:31
*/
public class runasjavaapplication_selenium1 {
public static void main(String[] args) {
//创建一个selenium对象,调用DefaultSelenium的构造器,传入参数,参数分别是:host:机器的ip地址、port:端口号、浏览器类型,url:要测试网站的链接
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444,
"*iexplore C:\\Program Files\\Internet Explorer\\iexplore.exe",
"http://www.baidu.com/"); selenium.start();
selenium.open("http://www.baidu.com");
selenium.type("id=kw1", "G7物流地图");
selenium.click("id=su1");
System.out.println("Page title is: " + selenium.getTitle());
selenium.stop();
}
}
上面提到的需要打开selenium rc还记得吗?打开之后就可以正常运行了。
第八步 TestNG执行Selenium的Java实例
1.新建testng类:在工程上右键,new->other->TestNG(名称为:runastestng.java)
创建完成后如下:

2.写代码:
package Selenium_TestNG; import java.io.File; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass; /**
* @author : zmh
* @version :1.0
* @date :2016年3月6日 下午12:28:31
*/ public class runastestng { WebDriver mydr;// 申明全局变量。。。。。 @Test
public void testng001() throws InterruptedException {
//-----------------------------打开IE浏览器--------------------------------------------------
File file_ie = new File("C:\\Program Files\\Internet Explorer\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file_ie.getAbsolutePath()); //为 Internet Explorer 设置安全性功能,否则会遇到一个安全问题提示:"Protected Mode must be set to the same value (enabled or disabled) for all zones"
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver my_dr = new InternetExplorerDriver(caps);// 打开ie浏览器
//打开百度
my_dr.get("www.baidu.com"); Thread.sleep(1000);
//定位到百度的输入框
my_dr.findElement(By.id("kw")).sendKeys("G7物流地图");
Thread.sleep(1000);
//点击搜索
my_dr.findElement(By.id("su")).click(); Thread.sleep(1000);
//打印页面标题
System.out.println(my_dr.getTitle());
//验证页面标题是否符合预期
Assert.assertEquals(my_dr.getTitle(), "G7物流地图_百度搜索");
Thread.sleep(5000); }
@BeforeMethod
public void beforeMethod() {
//switchTo相关可以写在这里
} @AfterMethod
public void afterMethod() {
// 切换到主窗口、模擬刷新頁面
} @BeforeClass
public void beforeClass() {
//登陆相关可以写在这里
} @AfterClass
public void afterClass() {
//浏览器关闭可以写在这里
} }
运行如下:

3.查看运行报告:

当然,我们也可以继承IReporter类,使用监听器,达到美化报告的目的,这个以后再另外的笔记中补充。
注:搭建环境涉及到的安装包可以在这里下载,此链接永久有效(缺少包或者分享链接失效的可以私信我去添加和修改):
链接: https://pan.baidu.com/s/1kCvVq-KpCY-c9aOYoukjSQ 密码: hwui
【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)的更多相关文章
- 环境搭建Selenium2+Eclipse+Java+TestNG_(一)
第一步 安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下载Fi ...
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- 我的Java学习笔记 -开发环境搭建
开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...
- Django学习笔记 开发环境搭建
为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- SpringData JPA的学习笔记之环境搭建
一.环境搭建 1.加入jar包 spring jar+jpa jar +springData jar >>SpringData jar包 2.配置applicationCont ...
- Mybatis学习笔记之---环境搭建与入门
Mybatis环境搭建与入门 (一)环境搭建 (1)第一步:创建maven工程并导入jar包 <dependencies> <dependency> <groupId&g ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
- Web安全测试学习笔记 - vulhub环境搭建
Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...
随机推荐
- 主机和虚拟机不能ping通问题
VMware的三种网络模式附上: 在vmw中,默认有3个虚拟交换机 分别是VMnet0(桥接).VMnet1(主机网络)以及VMnet8(NAT) 还可以根据需要添加VMnet2~VMnet7和VMn ...
- 《编写可维护的JavaScript》——JavaScript编码规范(一)
缩进层级 代码如何缩进通常有两种主张: 使用制表符缩进 每一个缩进层级都用单独的制表符表示.这种方法的主要缺点是:系统对制表符的解释不一致.这些差异会导致不同的开发者对同一段代码有不同的看法的,这正是 ...
- zigbee学习之路(十三):基于协议栈的Usart 实验
一.前言 这次实验我们来学习基于zigbee的串口通信实验,揭开zigbee神秘的面纱,让大家可以用zigbee协议编制属于自己的程序,这次实验只是串口发送数据,并没有进行无线的数据传输,为的是使大家 ...
- Java SE 基础:注释
Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...
- web前端面试题总结
HTML Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? (1).<!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前.告知浏览器的解析 ...
- Bootstrap_面板
一.基础面板 基础面板非常简单,就是一个div容器运用了“panel”样式,产生一个具有边框的文本显示块. 由于“panel”不控制主题颜色,所以在“panel”的基础上增加一个控制颜色的主题“pan ...
- AS 重装系统之后配置
重新安装了win7 系统,一起的AS 放在其他盘里 1.重新安装java sdk 配置java 环境. 2,从新配置AS 工作界面及各种配置 3,重新安装genymotion 并在as 中配置 出现 ...
- python os模块(2)
os模块主要用于:目录.文件(删除.判断.分割文件名和后缀) 目录 (1)获取当前目录(2)修改目录(3)生成目录(4)删除目录(5)查看目录下的内容(6)重命名目录(7)修改时间属性(8)链接目录( ...
- Mybaits使用
一.多数据源问题 主要思路是把dataSource.sqlSesstionFactory.MapperScannerConfigurer在配置中区分开,各Mapper对应的包名.类名区分开 1 < ...
- [bzoj2743][HEOI2012]采花(树状数组+离线)
2743: [HEOI2012]采花 Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 1832 Solved: 954[Submit][Status] ...