自动化RESTAPI测试并将其与持续集成(CI Jenkins)集成
我发现了许多与此相关的类似问题,但不是我正在寻找的特定答案。实际上,我的要求有点不同,所以我最后发布了以下问题 我想自动化restapi,对于相同的情况,我有两个选项。 第一个是自动化RESTAPI测试并将其与持续集成(CI Jenkins)集成,rest,jenkins,playframework,automated-tests,rest-assured,Rest,Jenkins,Playframework,Automated Tests,Rest Assured,我发现了许多与此相关的类似问题,但不是我正在寻找的特定答案。实际上,我的要求有点不同,所以我最后发布了以下问题 我想自动化restapi,对于相同的情况,我有两个选项。 第一个是放心,第二个是播放框架 例如,要测试此重新启动PI: http://servername:9000/dbs/all/list/m1/p1/sch1 (↑ 这将提供xml响应) 因此,我已经用Java编写了一个代码,并且工作得很好。我将其与Maven项目集成,以便与Jenkins集成。 示例代码: import c
放心
,第二个是播放框架
例如,要测试此重新启动PI:
http://servername:9000/dbs/all/list/m1/p1/sch1
(↑ 这将提供xml响应)
因此,我已经用Java编写了一个代码,并且工作得很好。我将其与Maven
项目集成,以便与Jenkins
集成。
示例代码:
import com.jayway.restassured
public class TestNGSimpleTest2 {
@Test
public void testApi() {
expect().
statusCode(200).
body("Status", equalTo("Su22ccess")).
when().
get("http://localhost:9000/dbs/all/list/m1/p1/sch1");
}
因此,我的第一个问题是:
放心是最好的工具吗
游戏框架更好吗
我找到了许多其他工具,如Jmeter、RightAPI等来测试RestAPI。但我不认为这是汽车制造的。我说得对吗
您发布的重新发布代码对于基本情况来说可以正常工作。如果您想:
- 不断添加新的测试用例,并且没有太多资源
- 使用格式良好的错误消息发布警报(特别是在Slack或GitHub等位置)
- 减少误报
- 再次使用相同的测试进行监测
构建这些功能需要时间和资源,这取决于团队的规模,可能是一个好主意,也可能不是一个好主意
您发布的一些商业解决方案可以为您解决其中一些问题
是一个无代码的解决方案,支持您直接描述的工作流:用于自动化REST API测试,作为一个起点,我建议使用和
Postman为构建请求提供了一个优秀的UI,newman是它的命令行对应项。在Postman UI中创建一组请求和相应的测试后,您可以通过newman从Jenkins运行整个集合,防止测试失败时部署。我们可以集成Jenkins和JMeter,以自动化重新启动PI测试
原因是,
- 在Jenkins中,我们可以以任何方式(每分钟/小时/天/月…)或基于提交等安排测试/构建
- 我们可以在JMeter中将n数量的API捆绑在一起,并在单个测试中执行。(维护很容易)
- jenkins插件“Performance”可用于检查每个API调用的响应时间,将响应时间与以前的响应时间进行比较
- JMeter有一个内置线程功能,它有助于比任何单线程测试更快地执行测试
截图:
台阶
我们可以在JMeter中准备API
在Jenkins中以非GUI模式配置测试
在Jenkins中安装并配置性能插件
是什么让你认为用自动化测试框架创建的测试不会是“自动化的”?你的问题对我来说很奇怪……如果你在配置“重”框架时遇到困难,你可以使用轻一些的框架,比如。