Selenium+TestNG+Maven(2)
转载自http://www.cnblogs.com/hustar0102/p/5885115.html
selenium介绍和环境搭建
一、简单介绍
1.selenium:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Chrome等。支持自动录制动作和自动生成,Net、Java、Python等不同语言的测试脚本。Selenium 测试脚本可以在 Windows、Linux 和 Macintosh等多种平台上运行。
2.TestNG:TestNG 是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便。TestNG是一个开源自动化测试框 架;TestNG表示下一代。 TestNG是类似于JUnit(特别是JUnit 4),但它不是一个JUnit扩展。它的灵感来源于JUnit。它的目的是优于JUnit的,尤其是当测试集成的类。 TestNG的创造者是Cedric Beust(塞德里克·博伊斯特)
3.maven:我们在开发项目的过程中,会使用一些开源框架、第三方的工具 等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目 的依赖。通常,一个Java EE项目所依赖的jar包会有很多。然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题。选择一个jar包的版 本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容。所以,在过去的构建项目过程中,整理出这么一堆 能让项目正常运行的jar包之后,这个lib目录就会变为禁区。jar包版本更新了,我们也很少会自找麻烦去触碰它。至于是不是存在冗余的jar包?能正 常运行就好了嘛。。。。
二、selenium+java环境代建
1.下载安装jdk
JDK下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载步骤,选中jdk--download

点击接受后,选择windows版本下载,我电脑是64位系统,所以我下载jdk-8u101-windows-x64.exe版本

下载后安装,一路猛击‘下一步’,OK。安装完成后配置环境变量:
系统变量→新建 JAVA_HOME 变量 。
变量值填写jdk的安装目录(本人是 E:\Java\jdk1.8.101)
系统变量→寻找 Path 变量→编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
系统变量→新建 CLASSPATH 变量
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
检验是否配置成功 运行cmd 输入 java -version
2.下载eclipse
下载地址:https://www.eclipse.org/downloads/eclipse-packages/
我下载的是mars版本,下载后,解压到本地磁盘,解压即可。
3.在线安装testNG
在 Eclipse 中,点击 Help -> Install new software ,在 add 栏中输入http://beust.com/eclipse,在下面就会看到 TestNG.选中点击安装,按下一步直到安装完,在线安装会有点很慢。
4.maven安装
下载地址:http://maven.apache.org/download.cgi
下载下图中的最新版本,解压到本地磁盘。

配置环境变量:
添加新的系统环境变量MAVEN_HOME, 并设置其值为你安装的目录MAVEN_HOME= D:\Softwares\apache-maven-3.3.9
更新系统PATH 变量, 添加;%MAVEN_HOME%\bin
测试maven配置是否成功打开命令行窗口,输入mvn -v,如果有maven 版本信息输出则证明配置成功,否则请查看自己配置路径等是否正确。
Maven安装成功后,第一次命令行输入mvn help:system会在C:\Users\用户\下生成.m2文件,默认放下载的jar包,叫maven仓库。
大多数maven用户需要复制M2_HOME/conf/settings.xml文件到.m2文件下。修改setting.xml。在<setting>中加入
<localRepository>D:\eclipse\maven\repository</localRepository>
这样新下载的jar包就可以下载到D:\eclipse\maven\repository这个路径下,不用每次都下载到C盘下了。
打开eclipse,选择window-preferences-maven-Installations。

点击add按钮,选择Directory,打开刚安装的maven路径,点击finish。

选中外部的maven,点击apply,再点击OK。
5.新建测试项目
打开eclipse-file-new-other,选中maven project点击next

选中maven-archetype-quickstar,点击next

输入group ID和Artifact ID,点击finish。

生成项目后,打开项目中的pom.xml(此配置文件,管理maven的jar包)

删除配置文件中的
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
这个是junit的jar包,因为我们用不到,所以删除。
加入selenium的依赖
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>[2.53.0,)</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>[2.53.0,)</version>
</dependency>
6.选择浏览器,我喜欢用chrome
下载chrome:下载地址 https://www.google.com/chrome/browser/desktop/index.html下载适合自己系统的chrome
下载chromeDriver:下载地址https://sites.google.com/a/chromium.org/chromedriver/
将chromeDriver放到chrome下安装目录下,并将chromeDriver目录加入到path中
例如:我的driver路径,将C:\Users\hustar\AppData\Local\Google\Chrome\Application加入到path中。
以上基于selenium+testNG+maven的环境就搭建完成了,下面让我们写个小程序运行一下
在包名上右键选择new-other

选择testNG class,点击next

填写class名,选中BforeMethod和AfterMethod,点击finish

在helloWord中的beforeMethod中写入下面代码
public class helloWord{
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 ChromeDriver();
driver.get("http://www.google.com.hk");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("hello Selenium!");
element.submit();
}
}
在项目上,或者class上右键Run As-TestNG Test,运行测试。

Selenium+TestNG+Maven(2)的更多相关文章
- selenium自动化测试学习(一)
在学习selenium自动化测试前,我们需要先了解一点自动化测试的相关知识. (一)什么是自动化测试 (二)为什么要做自动化测试 (三)自动化测试优缺点 (1)什么是自动化测试 自动化测试是把以人为驱 ...
- 元素(WebElement)-----Selenium快速入门(三)
上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法: 返回值 方法名 说 ...
- 使用IntelliJ IDEA 配置Maven(转)
1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在Inte ...
- 隐式等待-----Selenium快速入门(九)
有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现 ...
- maven(04)--一个简单的项目
简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引 ...
- Selenium WebDriver原理(二):Selenium是如何操纵浏览器的?
前言 上一篇文章<selenium webdriver 是怎么运行的>用了一个简单的例子--搭出租车,形象地讲解selenium webdriver 是如何运行的,而这一篇文章可以理解为深 ...
- Selenium 开源书(一): Selenium历史
Selenium历史 Selenium最初由Jason Huggins于2004年开发,作为ThoughtWorks的内部工具.Huggins后来加入了ThoughtWorks的其他程序员和测试人员, ...
- selenium webdriver学习(六)------------如何得到弹出窗口
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...
- selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)
selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop Q群里 ...
随机推荐
- Delphi编译选项
编译选项的设置,称为“开关指令”,其中大部分值为布尔类型 一.代码生成(Code generation)1.Optimization 优化代码,默认true2.Stack frames 生成过程/ ...
- note 8 字符串
字符串String 一个字符的序列 使用成对的单引号或双引号括起来 或者三引号""" 和 ''' 表示块注释 字符串运算 长度 len()函数 first_name = ...
- C#类与结构体的小结
1.定义不同 类使用class关键字来定义: 结构体用struct: 2.使用时的注意事项 ->结构体是值类型,类是引用类型 ->结构体中声明的变量不能做赋值操作,但是类可以. -> ...
- vector用法
转:http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. ...
- VS2017无法进入安装界面问题的解决方法
VS2017无法进入安装界面问题的解决方法 打开C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe也没有 ...
- flutter 访问网页+http请求
一.目录 1.访问网页 2.http请求 -----------------------------这是分割线----------------------------- 1.访问网页 基于url_la ...
- lambda 和 iterable
Lambda 表达式 你可以使用 Lambda 表达式创建匿名函数,即没有名称的函数.lambda 表达式非常适合快速创建在代码中以后不会用到的函数.尤其对高阶函数或将其他函数作为参数的函数来说,非常 ...
- loadrunner参数化使用mysql数据源失败解决方法
操作系统:win7 在64位的操作系统上,如果你想要连接32位mysql,避免安装mysql connector/odbc 64位,否则即使配置ODBC数据源连接正常,但loadrunner无法正常调 ...
- Hibernate的多表关系
多表关系 一对多/多对一 O 对象 一的一方使用集合. 多的一方直接引用一的一方. R 关系型数据库 多的一方使用外键引用一的一方主键. M 映射文件: 一: <set name="& ...
- 转载:深入浅出Zookeeper(一) Zookeeper架构及FastLeaderElection机制
转载至 http://www.jasongj.com/zookeeper/fastleaderelection/: 原创文章,转载请务必将下面这段话置于文章开头处.本文转发自技术世界,原文链接 htt ...