搭建rest-assured接口自动化框架遇到的坑

接口自动化框架使用的是rest-assured+testng+maven+allure,测试数据使用yaml格式的外部文件存放,使用数据驱动的架构方式,实现测试数据跟测试用例的分离,在调试过程中遇到如下问题:

1.在测试应用中,用编程的方式调用来实现TestNG,即

1 TestNG testng = new TestNG();
2 testng.setTestClasses(new Class[] { Run2.class });
3 testng.addListener(new TestListenerAdapter());
4 testng.run();

运行代码后,不执行Run类中的测试用例,即调试发现rest-assured相关的类找不到

解决方案:在pom.xml文件中,发现引用相关的jar包,使用的scope是test,之后把scope选项去掉,就OK了

2.使用lombok的@data注解来自动提供类所有属性的 getting 和 setting 方法,不生效

解决方案:先在IDE环境中安装lombok插件,然后在pom.xml引入相关的jar包信息

3.使用allure的开源插件展示报告

配置方式:先在本地安装allure插件,然后配置环境变量,然后在pom.xml文件中配置相关的jar与plugin信息,然后再运行如下命令

$ mvn clean test

生成html报告,且自动在浏览器中打开

$ allure serve target/allure-results


其中allure2安装可参考官方文档:
https://docs.qameta.io/allure/#_installing_a_commandline
如果是window系统,推荐手工安装,步骤如下:

 

其中最新版本的路径:https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/

  直接安装的路径:https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/2.13.1/allure-commandline-2.13.1.zip

 

4.运行testcases的时候报java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.intr
解决方案:升级allure的版本为<version>2.12.1</version>,问题解决

 

本次使用是与testng联合使用集成到maven项目中:

* 与testng、maven结合。
* 也可以下载jenkins插件,直接用jenkins集成。

 

 

可参考:https://docs.qameta.io/allure/latest/#_testng

              https://docs.qameta.io/allure/#_installing_a_commandline

 

posted @   sunshine_coast  阅读(644)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示