我发现了许多与此相关的类似问题......但不是我要找的具体答案。实际上我的要求没什么不同。所以张贴这个。
我想自动化Rest API,我有2个选项。 第一个是Rest Assured,第二个是Play framework。
对于exa。测试这个RestAPI,
http://servername:9000/dbs/all/list/m1/p1/sch1
(这给出了xml响应) 我已经用Java保证编写了一个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");
}
所以我的第一个问题是: 1.放心使用是最好的工具吗? 2. Play框架更好吗? 3.我发现了许多其他工具,如Jmeter,RightAPI等来测试RestAPI。但我不认为这是自动化的。我是对的吗?
答案 0 :(得分:4)
对于自动化REST API测试,我建议使用Postman和newman作为起点。
Postman为构建请求提供了出色的UI,而newman是它的命令行对应物。在Postman UI中创建一组请求和相应的测试后,您可以通过newman从Jenkins运行整个集合,从而在测试失败时阻止部署。
答案 1 :(得分:3)
您发布的RestAssured代码适用于基本情况。如果你想要它,它不一定是“正确的工具”:
构建这些功能需要时间和资源,这取决于您的团队规模可能会或可能不是一个好的呼叫。
您发布的一些商业解决方案可以为您解决部分问题。
Assertible是一种无代码解决方案,支持您直接描述的工作流程:https://assertible.com/blog/automated-api-testing-with-jenkins
答案 2 :(得分:0)
我们可以集成Jenkins和JMeter 以自动进行RestAPI测试。
原因是
在Jenkins中,我们可以按照任何方式(每分钟/小时/天/月/月.....)或基于提交等方式安排测试/构建。
我们可以在JMeter中将 n 个API捆绑在一起,并在一个测试中执行。(维护很容易)
步骤
我们可以在JMeter中准备我们的API
在Jenkins中以非GUI模式配置测试。
在Jenkins中安装和配置Performance插件。