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群里 ...
随机推荐
- Nginx reverse proxy NSQAdmin
以下配置只针对nsqadmin v1.1.0 (built w/go1.10.3)版本 ## The default server# server { listen 80 defau ...
- javascript连连看
经测试,IE,Firefox,Chrome,Opera可用. 连接线最多2个拐角.秘籍为:开始后连续输入zycjwdss 还剩0对 对数字 高度: 宽度: // 0)return 1;//IE i ...
- Sql case when 示例
SELECT 单元编号,年,月, 项目编号='11111', sum(case when 项目编号= 'ZB010201' then [当月额] else 0 end ) 医疗收 ...
- Python3学习的准备工作
简单好用的桌面开发平台:ubuntu 16.x/18.x 或 LinuxMint 18.x 开发工具:新版操作系统都自带有Python3.5及更高版本 其实作为初学者,不要迷信版本,也不必着急升级成最 ...
- win10 vs2015源码编译opencv、opencv_contrib、Tesseract
1.软件包准备 opencv源码包地址: 官网 github opencv_contrib源码包地址: github Tesseract源码包地址: ...
- Docker最简教程
本文旨在让你用最短的时间弄懂Docker命令操作,什么虚拟化都太泛泛了,不讲大道理,实践出真知,让你从此的日常开发和工作中在面对Docker时不再茫然失措而是得心应手.本文也不谈安装,我实在认为作为程 ...
- Anatomy of a Database System学习笔记 - 存储管理
使用裸设备,还是使用文件系统? 描述 pros cons 裸设备 顺序读磁盘快比随机要快10-100倍,DB比OS更懂磁盘负载,因此很多DB是直接管理数据块如何存放的. DB对裸设备的管理,比文件 ...
- python模块 os&sys&subprocess&hashlib模块
os模块 # os模块可根据带不带path分为两类 # 不带path print(os.getcwd()) # 得到当前工作目录 print(os.name) # 指定你正在使用的操作系统,windo ...
- leetcode966
class Solution(object): def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'L ...
- python类的动态属性设置
需求:根据入参,动态添加设置类的属性 实现: self.__setattr__ self.__getattribute__