0基础→自动化测试框架实现:java + testng + httpclient + allure

这篇具有很好参考价值的文章主要介绍了0基础→自动化测试框架实现:java + testng + httpclient + allure。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

必备基础

java基础:https://www.cnblogs.com/uncleyong/p/15828510.html

配置文件解析(properties):https://www.cnblogs.com/uncleyong/p/15867779.html

fastjson的使用(处理json字符串、json数组):https://www.cnblogs.com/uncleyong/p/16683578.html

jsonpath的使用:https://www.cnblogs.com/uncleyong/p/16676791.html

java操作excel(通过POI):https://www.cnblogs.com/uncleyong/p/15867741.html

HttpClient的使用(get、post请求):https://www.cnblogs.com/uncleyong/p/15867745.html

TestNG用法:https://www.cnblogs.com/uncleyong/p/15867747.html

自动化测试框架设计

设计原则

1、低耦合:通过反射

2、数据和代码分离:数据源可以是excel、yaml、xml等,本次选择excel;@DataProvider的返回值类型可以是Object[][]或者Iterator<Object>[]

3、复用性高:公共的方法提取出来

4、维护方便:可变的环境等参数,提取出来放到配置文件中

5、问题追踪:必要的日志记录

6、结果展示:生成测试报告

技术栈

java:封装、泛型、反射、jdbc等

testng:开源测试框架,是从Junit继承而来

httpclient:java提供的与服务端http接口进行交互的库

allure:测试报告

fastjson:处理json字符串、json数组

jsonpath:解析json数据

poi:操作excel

目录结构规划

allure-results:运行后,自动生成的目录

caseData:存放测试数据,比如excel文件

logs:存放日志文件

testngXML:存放testng.xml文件

testReport:存放ExtentTestNGIReporterListener的测试报告,但是这个弃用了,因为allure更主流

java testng+ allure,java,json,开发语言,junit

java testng+ allure,java,json,开发语言,junit

逻辑

java testng+ allure,java,json,开发语言,junit

待扩展功能
1、文件上传、下载
2、数据库验证
3、yaml数据源
4、。。。 

代码实现

详见源码

使用方式

配置修改

config.properties:配置环境ip、端口

testng.xml:配置测试数据excel文件的路径、sheet;测试集(test)、测试类集合(classes)、测试类(class)

jdbc.properties:数据库配置
测试数据维护

标题行:每个单词首字母大写,因为代码里面用到了反射

关键字段数据填写要求:

  Url:只写路径,不需要写ip、端口

  RequestType:目前只支持post、get

  Headers:json格式字符串,如果没有请求头,需要填写为{}

  Cookies:json格式字符串,暂未使用

  Parameters:json格式字符串,如果是非关联变量,填写为#{},如果是关联参数${}

  UploadFile:暂未使用

  InitSql:初始化sql,要求是json数字,例如:[{"sqlNo":"1","sql":"delete from users where username = 'qzcsbj11';"}]

  GlobalVariables:需要关联的参数值,格式样例:token=$.token;,左侧是字段名,右侧是其jsonpath路径,,并以英文分号结尾,多个断言字段用英文分号间隔

  AssertFields:要断言字段的jsonpath路径以及值,并以英文分号结尾,多个断言字段用英文分号间隔,如:

$.code=9550;$.msg=success;

运行

执行testngXML目录下的testng.xml文件即可

allure报告

https://www.cnblogs.com/uncleyong/p/16683084.html

java testng+ allure,java,json,开发语言,junit

企业级自动化持续集成

可以整合python、java等自动化框架

git + gitlab + jenkins + pipeline + maven + harbor + docker + k8s

https://www.cnblogs.com/uncleyong/p/16721826.html

【建议收藏备用】热门技术、项目实战、简历、笔试题、面试题、职业规划(助你少走弯路,轻松跳槽加薪)

点击学习:https://www.cnblogs.com/uncleyong/p/15777706.html

包含以下内容:

测试实战:
	性能:jmeter + k8s + 微服务 + skywalking + efk,测试都在学的热门技术
	自动化:python版、java版
	测开:待更新

简历:写出一份高质量简历

笔试题:linux、shell、mysql、java、python、测开、性能、自动化、docker、k8s等

职业规划:让你少走弯路,尽早跳槽加薪,方向不对,努力白费

摸鱼:上班正确的摸鱼方式

原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/15867903.html文章来源地址https://www.toymoban.com/news/detail-599754.html

到了这里,关于0基础→自动化测试框架实现:java + testng + httpclient + allure的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无界面自动化测试(IDEA+Java+Selenium+testng)(PhantomJS)

    自动化测试(IDEA+Java+Selenium+testng)(PhantomJS)_phantomjs怎么写js脚本idea-CSDN博客 上述连接是参考:现在如果按照如上链接进行操作大概率会失败,下面会针对如上链接的部分步骤做出修改 1、在pom.xml文件中需要使用低版本selenium-java依赖包,目前我使用的是4.13.0版本的所以在运行

    2024年01月18日
    浏览(50)
  • 接口自动化测试框架(Java 实现)

    需求点 需求分析 通过 yaml 配置接口操作和用例 后续新增接口和测试用例只需要编写 yaml 文件即可实现。 可以支持接口间的参数传递 具有参数依赖的接口可以进行变量的抽取和参数赋值。 支持全局、用例维度的变量存储 比如时间截命名法中要用到的时间截后缀。 支持用例

    2024年01月18日
    浏览(54)
  • UI自动化测试篇 :Selenium2(Webdriver)&TestNG自动化测试环境搭建

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!    最开始学习UI自动化,用的工具是QTP10,用起来确实比较容易上手

    2024年03月10日
    浏览(66)
  • Jenkins+maven+testng+htmlreport单元自动化测试

    为了可以在jenkins自动化运行单元测试的代码,所以使用maven+testng的技术结合,达到手动或者定时去执行单元测试的代码,以便提高人工运行的自动化的效率。单元通过该方案也可以套用在httpclient框架去执行测试web api接口的自动化测试,原理是一致的。 安装开发工具:eclip

    2024年02月10日
    浏览(52)
  • Java+Selenium+Testng自动化学习(一):环境搭建

    目录 一、软件准备及版本介绍  二、安装步骤及环境变量配置:  2.1    Java安装及配置 2.2    IDE工具(Intellij IDEA)安装 2.3    Maven安装及配置 2.4    Maven本地仓库配置 2.5    Intellij IDEA配置mvn仓库 2.6    Intellij IDEA创建maven项目 2.7    Selenium安装 2.8    TestNG安装 2.9    Chr

    2024年02月05日
    浏览(42)
  • Selenium基础 — Selenium自动化测试框架介绍

    Selenium是一个用于Web应用程序测试的工具。 只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行的功能测试套件。 Selenium测试套件直接运行在浏览器中,就像真正的用户在操作浏览器一样。 Selenium也是一款同样使用Apache License 2.0协议发布

    2024年02月02日
    浏览(53)
  • 自动化测试基础篇:Selenium 框架设计(POM)

    【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。本文介绍selenium的框架设计。 自动化测试框架 1.什么是自动化测试框架 简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境。自

    2024年02月04日
    浏览(42)
  • 移动端APP自动化测试框架-UiAutomator2基础

    很早以前,我用uiautomator+java实践过Android APP自动化测试,不过今天要提的不是uiautomator,而是uiautomator2。听起来uiautomator2像是uiautomator的升级版,但是这两款框架仅仅是名字上比较相似,实际上没有任何关联。 项目地址:https://github.com/openatx/uiautomator2 1.官方文档介绍 2.梳理一

    2024年02月13日
    浏览(68)
  • Python自动化测试5大框架类型,你怎么Python实现自动化测试?

    我们需要一个什么样的框架 既然要搭一个框架,我们首先得弄明白我们需要一个什么样的框架,这个框架要支持什么功能? 框架主要的作用就是帮助我们编写更加简单而且好维护的用例,让我们把主要精力放在测试用例的设计上,那么我们就需要把所有额外的东西抽象出来

    2024年02月06日
    浏览(61)
  • http接口自动化测试框架实现

    目录 一、测试需求描述 二、实现方法 三、Excel表格样式 四、实现代码(代码才是王道,有注释很容易就能看明白的) 一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值 输出:XML文件 eg:http://xxx.com/xxx_product/test/content_book_

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包