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群里 ...
随机推荐
- 工控随笔_02_西门子_WinCC的IO域利用C脚本返回值
WinCC的输入输出域用来显示信息或者接受操作人员的输入.当作为显示功能时,只有直接的变量连接 才能正常的显示,如果使用动态对话框进行设置且用了表达式则不能正确显示. 但是有时候我们在WinCC变量管 ...
- cassert(assert.h)——1个
http://www.cplusplus.com/reference/cassert/assert/ 声明:void assert (int expression); #include <ios ...
- 3.Qt GUI中一些操作记录
一.如何在Widget中利用代码添加背景图片 this->setAutoFillBackground(true); // QPalette palette = this->palette( ...
- ActiveMQ( 一) 同步,异步,阻塞 JMS 消息模型
同步请求:浏览器 向服务器 发送一个登录请求,如果服务器 没有及时响应,则浏览器则会一直等待状态,直至服务器响应或者超时. 异步请求:浏览器 向服务器 发送一个登录请求,不管服务器是否立即响应,浏览器 ...
- linux下批量查找UTF-8的BOM文件,并去除BOM
首先查找看看有哪些文件包含BOM find . -type f -print0 | xargs -0r awk '/^\xEF\xBB\xBF/ {print FILENAME} {nextfile} ...
- openj9
下面部分转自:https://www.jianshu.com/p/916b5fcd0140 OpenJ9,OMR与OpenJDK Eclipse OpenJ9 是一个 Java 虚拟机(JVM) ...
- AX2012 ERP “系统慢”调优---跟踪SQL执行,优化代码
对于用户来说,系统是:慢的,难用的.你看xxx,多好用,多快,多人性化. 对于AX ERP系统也不例外,调优是必须的,调优一般分为几种: 系统性监测针对瓶劲环节提升,如:用户--应用服务器--DB-- ...
- 获取cpu和内存使用情况
public class SystemInfo { [DllImport("kernel32")] public static extern void GetSystemDirec ...
- SurfaceView绘图时刷新问题,尝试各种办法无法解决,请教高手
/** * */ 源码:http://pan.baidu.com/s/1i3FtdZZ 画图时最左面,第一帧总是出现一个黑条,其它的帧没有问题package com.macrosoft.testewa ...
- Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)
前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...