testng接口自动化测试(自动化测试框架有哪几种)

本文目录
- 自动化测试框架有哪几种
- testng自动化测试框架怎么用
- 自动化测试的分类有哪些
- Allure+testNG(一):手把手教你用Allure生成优美的测试报告
- 使用idea+testNG搭建自动化测试框架
- TestNG运行报错An internal error occurred during launching
- 自动化测试TesgNG测试框架的parallel属性
- Testng注解之dataprovider(参数化)
自动化测试框架有哪几种
冒昧的说一句,您这个问题问的可能比较大。
因为从自动化测试角度讲的测试框架有很多种;而且并没有什么固定的条条框框。全部是根据测试需要及公司产品开发现状进行搭建的。从通俗的 整体的角度讲只要满足:测试输入(脚本编写)-》测试执行-》结果输出 这种模式的都可称之为自动化测试框架。
而从不同的角度分析框架又可根据不同筛选条件分为多类:
如:1.脚本语言方面分析,很多种语言提供了多种自动化测试的基础框架:
1)ruby的Watir开源自动化测试框架、Test::Unit单元测试框架、开源测试框架Ruby on Rails 等等
2)java的junit回归测试框架、Mockito、TestNG、easyb等等等等
3)Perl的perl Mechanize、Test::Base数据驱动测试等等等等
4)Python的PyUnit、PAMIE等等等等
5)基于Tcl/Tk的swift 自动化测试框架,ATF/VTP自动化测试框架
以上仅列举自动化测试常用的几种脚本语言的测试框架,当然不仅仅是这些
2.从测试体系角度分又分为:
1)单元测试框架.
2)系统测试框架
3)集成测试框架
。。。。。
3.基于测试目的的划分
1)GUI自动化测试框架
2)网络协议自动化测试框架
3)基于web的自动化测试框架
。。。。。
4.从实现深度和角度分类:
1)简单的录制回放测试框架(或工具)
2)关键字驱动的测试框架
3)关键字驱动及结果输出分析的自动化测试框架
4)智能匹配功能及具备快速脚本生成功能的自动化测试框架
。。。。。。
5.从测试工具角度分:
有些测试工具是许多大型公司结合了很多测试经验及数据后进行开发的自动化测试软件或者称之为测试管理软件的自动化管理部分及自动化测试部分;也有人称之为自动化测试框架或自动化测试工具。比如QTP;LoadRunner;Quality Center、selenium等等。都具有一定的自动化测试及管理功能。
所以总的来看,测试框架分为很多种;不知提问者问的是哪个具体方面的。
笔者水平有限,仅能做个基本介绍,希望能有所帮助。也祝愿所有从事自动化测试相关工作的同志事业顺利。欢迎沟通交流
testng自动化测试框架怎么用
1、前提
安装好jdk
配置好Java环境变量
安装Eclips
这些网上都有,就不再详细介绍。
2、安装TestNG插件
在线安装由于网速原因,速度较慢。下面是离线安装方式。
(1)解压eclipse-testng离线包.zip
(2)将【eclipse-testng离线包/feature】中的文件夹org.testng.eclipse_6.8.6.20130607_0745复制到【MyEclipse安装目录/features】目录下
(3)将【eclipse-testng离线包/org.testng.eclipse_6.8.6.20130607_0745】文件夹复制到【MyEclipse安装目录/plugins】目录下
(4)重启MyEclipse,Windows - show view - TestNG
3、安装Ant
(1)解压apache-ant-1.9.6-bin.zip到任意目录下
(2)配置Ant环境变量,在Path变量末尾添加:《Ant目录》/bin;
二、在Eclipse中创建Java工程
1、Eclipse -》 File -》 New -》 Java Project,如下图,在弹窗中填入Project name,点击Finish,即可完成工程的创建。
2. 导入相关的jar包:
工程上右键 -》 Build Path -》 Configure Build Path...,如下图所示,打开Build Path配置窗口。
导入已经安装的TestNG插件,如下图所示完成testNG的导入:
3. 从资源分享链接中下载lib.zip,解压开,按下图方式导入里面的jar包。导入的这些jar包会在程序中用到。
三、使用TestNG框架编写测试用例
1. 创建src文件夹,存放测试相关的代码,在工程上右键 -》 New -》 Folder,填入文件名字:src。
2. 按照数据与代码分离和公共方法提取的原则,我的代码结构如下划分:
3. 脚本编写顺序
3.1 全局配置文件(GlobalSettings.java)
存放一些工程全局的变量,比如baseUrl、timeout等;
3.2 Http协议实现(HttpClientHelper.java)
根据项目接口使用的协议,实现相关的请求。我们的项目有两种方式,一种是使用NameValuePair的方式封装请求参数,一种是使用JSONObject的方式封装请求参数,因此针对这两种方式都做了代码实现。
3.3 接口实现(GList_API.java)
以“创建G单”为例,实现该接口:
3.4 准备测试数据(TestData.java)
为接口准备测试数据。
3.5 测试数据参数化(GListDataProvider.java),返回的参数个数需要与testsuit中函数参数个数一致。
3.6 测试用例suit(GListCURD.java)
4. 测试用例调试与执行
按照步骤三写好了所有的用例,可以进行用例的调试与执行了。
4.1 测试用例脚本调试
在步骤三的测试用例suit GListCURD.java上右键,“Debug as”或“Run as” -》 "TestNG Test",即可运行该脚本。
4.2 测试用例脚本执行
有两种方式可以运行该脚本,testNG或者ant。
使用testNG运行,操作如步骤4.1。
使用ant运行,需要创建xml,请参考资源库中的build.xml、smokeTest.xml。若需要生成testNG报告,还需要下载test-result.xsi文件。
4.3 美化后的运行结果report
自动化测试的分类有哪些
在敏捷开发流程中,自动化测试涉及到下面重要四种类型的测试。
单元测试(Unit
Test,UT)
关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。
可以使用对应的测试驱动开发(TDD)框架,如:Java的JUnit和TestNG等,相应的python语言中有unittest和nose等测试工具。
集成测试(
Integration
Test,IT)
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
这个阶段,可以尝试接口的自动化测试,同样可以利用单元测试的框架编写针对API调用的测试代码。
另外也可以利用selenium和appium等测试工具来进行UI相关的测试。
用户验收测试(User
Acceptance
Test,UAT)
用户验收测试,也叫用户可接受测试,一般在项目流程的最后阶段,这时相关的产品经理、业务人员、用户或测试人员根据测试计划和结果对系统进行测试和验收,来决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。
本阶段主要是UI相关的测试,编写自动化测试脚本的难度比较大。
同样是利用selenium和appium等测试工具来编写测试脚本
回归测试(
Regression
Test)
回归测试是软件测试的一种,旨在检验软件原有功能在修改后是否保持完整。回归测试主要是以检查退化为目的的测试。
退化主要指由于系统的版本更新,在之前的版本中正常运行的功能变得无法正常运行,或者紧急修正了某个问题,但引发了其他的问题的现象。
从开发人员视角出发的单元测试是需要进行回归的,还有从用户视角出发的集成测试和用户验收测试的测试用例集也是回归测试的相关内容。
Allure+testNG(一):手把手教你用Allure生成优美的测试报告
我参考的教程是 《高大上的测试报告-Allure开源框架探索》
以windows为例,其他系统可以参考官网 Allure官方文档
以下是我查看很多文章后总结出来最全的allure需要的依赖了
这里我用的是testng生成测试报告
allure的testng插件
这里说一下自己踩的两个坑:
先把test下的测试cese跑一遍
跑完之后会在工程的根目录下生成一个allure-results文件夹,里面都是json格式的文件,不要慌张,allure可以生成html网页通过web服务方式呈现出来。
allure提供了三种命令:
path of allure result就是allure生成的那些json格式文件所在的地址,这里就是前面说的allure-results文件夹
执行这个命令我们看看会发生什么:
这个时候浏览器会自动将生成的html格式报告打开
这里我又遇到一个坑,打开了页面是这个样子的
后来发现是因为公司的vpn打开了,关掉之后就能正常展示
这个时候会生成一个allure-report在你定位的文件夹内,这个方法不会自动帮你启动浏览器
生成allure-report之后,你需要再次手动打开allure-report
当然这个时候路径应该是allure-report所在的文件夹路径。
下一章再给大家介绍怎么更规范的去编写你的自动化case使报告更美观,符合你的要求。
使用idea+testNG搭建自动化测试框架
一、所需环境
1、JDK
2、Maven
3、intellij idea
二、创建工程
三、导入相关依赖包和插件
1)导入testNG依赖包
在pom.xml中添加
2)添加编译插件和执行测试插件
在pom.xml中添加
四、创建测试类
1)在Java文件夹下创建
2)编写testNG.xml
xml文件用于按照需要批量执行用例,右键选择运行可独立执行
《?xml version="1.0" encoding="utf-8" ?》
《suite name="testproj" parallel="false"》
《test name="testDemo1"》
《classes》
《class name="TestDemo"》《/class》
《/classes》
《/test》
《/suite》
五、运行testNG.xml
TestNG运行报错An internal error occurred during launching
(文章转自霍格沃兹测试学院优先学员-月关)
Java自动化测试
最近用eclipse搭建自动化测试环境,利用TestNG作为测试框架,但是运行时发现总是弹框报错An internal error occurred during launching。。。,这里找到了解决办法,作为记录和分享。
这里需要删除安装TestNG时候装上的M2E 插件,如下步骤:
1、在eclipse中选择——》Help——》Install new software——》What is already installed?
————————————————
2、在这里找到TestNG M2E插件,然后选择Uuninstall,删除后重启eclipse就可以正常运行TestNG了
原文链接:
***隐藏网址***
自动化测试TesgNG测试框架的parallel属性
在TestNG 中,可以通过suite标签中的Parallel属性,定义是否多线程并发运行测试。
Parallel取值有3个:tests、classes、methods,可以通过在testng.xml中的suite tag下设置,如:
它们的共同点都是最多起5个线程去同时执行不同的用例。
它们的区别如下:
Testng注解之dataprovider(参数化)
数据驱动是最常见的自动化测试框架模式之一,TestNG亦支持数据驱动,常用的有@Parameters和@DataProvider两种注解。这次主要是记录dataprovider的用法。
使用DataProvider提供数据有两种形式:
定义一个函数,函数名随意取,使用@DataProvider注解,注解中用name给这个provider起名字,该函数返回一个二维数组。
可以看到该测试方法运行了3次,每一次都把一个DataProvider提供的数组作为自己的参数输入然后执行了测试。
这种方式需通过dataProviderClass属性来指定@DataProvider类位置,并且@DataProvider注解的方法保持静态(static)。示例:
运行test后,结果:
除了上述的return Object,@DataProvider注解的方法也允许使用迭代器,区别是迭代器允许你延迟创建自己的测试数据,TestNG会调用迭代器,之后测试方法会一个接一个的调用由迭代器返回的值。在你需要传递很多参数组给测试方法的时候,无须提前创建一堆值。
如果希望DataProvider对不同的Test方法使用不同的dataprovider,那么在DataProvider中可以使用Method参数。
这里根据调用DataProvider的函数名,返回了不同的参数。
由于没有指定运行顺序,所以Test会按照字母顺序执行,先执行getFirst,然后getSecond..
参考文档:
***隐藏网址***
***隐藏网址***
***隐藏网址***

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






