JAVA+SELENIUM+MAVEN+TESTNG框架(二)新建项目
1.新建maven项目

2.下载selenium的jar包,放入maven依赖库中
3.新增testng依赖库,build path->add libirary->testng


4.查看自己电脑的谷歌浏览器版本,寻找对应的chromedriver谷歌浏览器驱动,注意:不同驱动版本支持的浏览器版本不同
下载对应的chromedriver,并放置到本地的谷歌浏览器安装目录下,如图

5.在新建的项目下面,新建一个testng class的java文件,尝试调用驱动打开浏览器


选择新建的testng文件需要包括哪些注解,具体各种注解的使用方法如图
|
注解 |
描述 |
|
@BeforeSuite |
注解的方法将只运行一次,运行所有测试前此套件中。 |
|
@AfterSuite |
注解的方法将只运行一次此套件中的所有测试都运行之后。 |
|
@BeforeClass |
注解的方法将只运行一次先行先试在当前类中的方法调用。 |
|
@AfterClass |
注解的方法将只运行一次后已经运行在当前类中的所有测试方法。 |
|
@BeforeTest |
注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。 |
|
@AfterTest |
注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。 |
|
@BeforeGroups |
组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。 |
|
@AfterGroups |
组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。 |
|
@BeforeMethod |
注解的方法将每个测试方法之前运行。 |
|
@AfterMethod |
被注释的方法将被运行后,每个测试方法。 |
|
@DataProvider |
标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。 该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。 |
|
@Factory |
作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。 |
|
@Listeners |
定义一个测试类的监听器。 |
|
@Parameters |
介绍如何将参数传递给@Test方法。 |
|
@Test |
标记一个类或方法作为测试的一部分。 |
关于testng的使用方法网上有很多,需要关注的是,testng与junit的区别,经常被用来当做面试问题。testng可以认为是junit的升级版。
新建testng class成功后,录入以下代码
package com.UI.testDemo;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class helloworld {
WebDriver driver;//定义一个webdrive驱动
@BeforeMethod
public void beforeMethod() {
}
@AfterMethod
public void afterMethod() {
System.out.println("Page title is:"+driver.getTitle());//输出页面标题
driver.quit();//关闭浏览器
}
@Test
public void test_case() {
driver=new ChromeDriver();//新建一个谷歌浏览器驱动
driver.get("http://www.baidu.com");//打开浏览器,并打开百度页面
}
@BeforeClass
public void beforeClass() {
}
@AfterClass
public void afterClass() {
}
}
如果你成功打开了浏览器,并跳转到了百度页面,而且eclipse控制台输出了百度页面的标题,并且能够关闭浏览器
那恭喜你,配置和项目都已经没有问题了,接下来就可以写自动化UI测试脚本了
另外,看到两篇关于如何在jenkins中执行testng脚本的文章,地址如下:
https://blog.csdn.net/lykangjia/article/details/72770461
https://www.cnblogs.com/chengbai/p/9948095.html
JAVA+SELENIUM+MAVEN+TESTNG框架(二)新建项目的更多相关文章
- java+selenium+maven+testng框架(一)安装搭建
1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...
- 从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- Python网络爬虫_Scrapy框架_1.新建项目
在Pycharm中新建一个基于Scrapy框架的爬虫项目(Scrapy库已经导入) 在终端中输入: ''itcast.cn''是为爬虫限定爬取范围 创建完成后的目录 将生成的itcast.py文件移动 ...
- TestNG+Java+Selenium+Maven 代码实例
搭环境时注意不要忘记testng的jar包,selenium的jar包 package com.guge.test; import org.testng.annotations.Test;import ...
- 【温故知新】Java web 开发(一) 新建项目
简述本文写作目的:本文主要用于回忆基础 java web 项目的搭建,在不使用 Spring 等框架的前提下,单纯使用 jsp 和 servlet 完成. 1. 新建 maven 项目,不使用 arc ...
- Java&Selenium Web自动化测试框架理念
一.自动化测试含义 在自动化测试领域内流传着一个说法:单元测试才是自动化测试的核心,在自动化测试里,无论框架何等完美都不可能脱离单元测试,单元测试将会是自动化测试里最小的单位,把它看作单位一,若干个单 ...
- 【亲测】自动构建多个指定的class并发执行:Jenkins+Maven+Testng框架
要解决的问题:jenkins在自动构建maven项目时如何并发执行多个指定的class类 预置条件:testngXXX.xml文件已指定了多个class类 解决步骤:1.在maven项目中新建指定te ...
- java+selenium+maven+IntelliJ IDEA 搭建简单的UI自动化测试环境
1. 用IntelliJ IDEA新建一个maven工程 2. 在pom.xml中添加依赖: <dependency> <groupId>org.seleniumhq.sele ...
随机推荐
- VC6.0编译器设置
主要通过VC的菜单项Project->Settings->C/C++页来完成.我们可以看到这一页的最下面Project Options中的内容,一般如下:/nologo /MDd /W3 ...
- SED单行脚本快速参考(Unix 流编辑器)
------------------------------------------------------------------------- SED单行脚本快速参考(Unix 流编辑器) 200 ...
- 第70讲:Scala界面GUI编程实战详解
今天又学习了王家林老师的scala学习讲座第70讲,关于scala的界面编程,让我们来初步学习一下scala中界面编程的过程. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号 ...
- ios 百度地图,火星坐标,地球坐标互转
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 键'attachdbfilename'的值无效。
---恢复内容开始--- ---恢复内容结束---
- 用C#中的键值对遍历数组或字符串元素的次数
代码如下: string strs = "ad6la4ss42d6s3"; Dictionary<char, int> dic = new Dictionary< ...
- C# 不能用于文件名的字符
在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符 那么具体是包括哪些符号不能作为文件名? Tilde (~) Numbe ...
- ASP.Net MVC OA项目笔记<四>
1.1.1 EF线程唯一 在数据层中用到了EF的实例,在数据会话层也用到了,所以在一个请求中只能创建一个EF实例(线程内唯一对象),把它封装成工厂类 1.1.2 为了防止相互引用,循环引用,所以这个工 ...
- Angular build Error:In this configuration Angular requires Zone.js
Angular cli 运行 build后打开生成的index.html报错:In this configuration Angular requires Zone.js 生成代码如下: ng bui ...
- Fiddler工具使用介绍二
在上一篇中介绍了Fiddler的基本使用方法.通过上一篇的操作我们可以直接抓取浏览器的数据包.但在APP测试中,我们需要抓取手机APP上的数据包,应该怎么操作呢? Andriod配置方法: 1)确保手 ...