转载自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包?能正 常运行就好了嘛。。。。

Maven的出现,解决了开发过程中的这一难题。它可以对项目依赖的jar包 进行管理,可以让你的项目保持基本的依赖,排除冗余jar包,并且可以让你非常轻松的对依赖的jar包进行版本升级。而这些仅仅是Maven最基本的功 能,它可以在这基础上对项目进行清理、编译、测试、打包、发布等等构建项目的工作。

二、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)的更多相关文章

  1. selenium自动化测试学习(一)

    在学习selenium自动化测试前,我们需要先了解一点自动化测试的相关知识. (一)什么是自动化测试 (二)为什么要做自动化测试 (三)自动化测试优缺点 (1)什么是自动化测试 自动化测试是把以人为驱 ...

  2. 元素(WebElement)-----Selenium快速入门(三)

    上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法:  返回值  方法名  说 ...

  3. 使用IntelliJ IDEA 配置Maven(转)

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在Inte ...

  4. 隐式等待-----Selenium快速入门(九)

    有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现 ...

  5. maven(04)--一个简单的项目

    简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引 ...

  6. Selenium WebDriver原理(二):Selenium是如何操纵浏览器的?

    前言 上一篇文章<selenium webdriver 是怎么运行的>用了一个简单的例子--搭出租车,形象地讲解selenium webdriver 是如何运行的,而这一篇文章可以理解为深 ...

  7. Selenium 开源书(一): Selenium历史

    Selenium历史 Selenium最初由Jason Huggins于2004年开发,作为ThoughtWorks的内部工具.Huggins后来加入了ThoughtWorks的其他程序员和测试人员, ...

  8. selenium webdriver学习(六)------------如何得到弹出窗口

    selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...

  9. selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)

    selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 博客分类: Selenium-webdriver 元素拖放drag and drop  Q群里 ...

随机推荐

  1. HTTP Server to Client Communication

    1. Client browser short polling The most simple solution, client use Ajax to sends a request to the ...

  2. 在Ubuntu下编译Qt错误及处理办法

    平台:Ubuntu16.04  64bit 虚拟机:VirtualBOX 编译软件:Qt 32bit (在64位环境下编译32bit的程序会出现很多错误,从编译器的安装以及整个库的编译) 问题一:er ...

  3. python之路——20

    学习内容 1.序列化——数据类型转向字符串数据类型 反序列化——字符串转向数据类型2.序列化模块 json模块 通用序列化格式 弊端:只有少部分数据类型可通过json转化 pickle模块 所有的py ...

  4. springboot连mysql报一个奇怪的错误

    错误提示:Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection ...

  5. 安装Git Bash图文教程

    1.下载Git Bash,下载地址 https://pan.baidu.com/s/1sllsi0d 2.双击Git-2.9.2-64-bit.exe,运行,进行安装:点击“Next” 3.设置安装路 ...

  6. Java高级框架------Spring(二)

    五.如何给Bean的属性赋值(注入) 1. 通过构造方法来赋值 2. 设置注入(通过set方法) 2.1 如果属性是基本类型或String等简单 <bean id="peo" ...

  7. 来源于知乎专栏:https://zhuanlan.zhihu.com/p/29619457

    1. 校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1- ...

  8. 【python】django上传文件

    参考:https://blog.csdn.net/zahuopuboss/article/details/54891917 参考:https://blog.csdn.net/zzg_550413470 ...

  9. spring boot 给返回值加状态 BaseData

    JavaWeb开发中,需要给前端返回的数据加上一些头部的状态信息,来表示请求成功或失败的状态原因 一.数据添加状态信息 1.新建BaseData public class BaseData<T& ...

  10. 关于JWTtoken的管理问题

    JWT简介: Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.因为网络上有很多关于jwt的详细介绍了,所以我这里就不再赘述.但是JWT的大 ...