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 ...
随机推荐
- redis.conf之save配置项解读
配置示例: save 900 1 save 300 10 save 60 3600 配置解读: 1) “save 900 1”表示如果900秒内至少1个key发生变化(新增.修改和删除),则重写rdb ...
- 【20171101】the first day in a new company
英文差的要命还飙英文,擦嘞!!! 就是想记录下 点滴 如下配图: | | | V 手动配图这是图!!!
- PAT甲级 1126. Eulerian Path (25)
1126. Eulerian Path (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue In grap ...
- POJ3020 Antenna Placement
Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9586 Accepted: 4736 ...
- Constructor in depth
There are two types of constructor:Instance Constructor and Type Constructor(or so-called Static Con ...
- Redis数据库介绍
引言 redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. redis数据结构 redis是一种高级的key:value存储系统,其中value支 ...
- LogisticRegression in MLLib (PySpark + numpy+matplotlib可视化)
参考'LogisticRegression in MLLib' (http://www.cnblogs.com/luweiseu/p/7809521.html) 通过pySpark MLlib训练lo ...
- GDI+配置
GDI+的配置过程: 一.打开stdafx.h文件,在其中加入: #include "Gdiplus.h" #pragma comment(lib,"Gdiplus.h& ...
- .net core 使用 AspectCore 实现简易的AopCache。
(第一次写博客,好紧张!!!) 源码地址:传送门 项目中有很多缓存的需求,能自己定义缓存key和时间,能根据key去清理缓存. 网上找了一圈,有很多基于aop的缓存组件,但是都不满足我的需求.故造了个 ...
- 最值得拥有的免费Bootstrap后台管理模板
在PHP开发项目中,后台管理因为面向群体相对比较固定,大部分以实现业务逻辑和功能.使用Bootstrap后台模板可以让后端开发很轻松的就展现给客户一个响应式的后台,节约前端开发的时间.下面PHP程序员 ...