张小白的自动化测试工具实践(2) 使用devcloud进行华为云API的接口测试

举报
张辉 发表于 2020/09/18 16:41:43 2020/09/18
【摘要】 本文使用devcloud实现了对API Explorer的API进行自动化测试。

大名鼎鼎的devcloud工具对自动化测试的支持情况怎么样呢?

让我们来试一下吧:


简单点,在Scrum项目中先定义一个需求规划:

image.png

如上图所示,Epic是全面测试(临时起的名字),Feature是API Explorer测试,Story是TestListServerBlockDevices的测试。Task我们就不用建了。因为我们不是开发,暂时用不着这块。

点击”更多“菜单中的测试-》测试计划,点击新建:

image.png

下一步:选择接口测试

image.png


点击确定:

image.png

测试计划建好了。我们再点击上面测试计划执行结果中的 需求Sheet,然后关联前面我们建好了需求规划,选择最后一个story:

image.png

点击确定,将测试计划跟需求做好关联。

image.png

关联后的结果如上图所示。

接着,我们点击 测试-》测试-》测试设计按钮,进入用例库:

image.png

点击接口测试,再点击新建按钮,进入新建接口测试向导:

image.png

如图填上相关测试内容,点击保存或保存并编写脚本,进入以下界面:

image.png

点击URL请求。然后根据前面postman或者restAssured的参数填入以下内容:

image.png

点击保存后,可以点击 右上角的 黑三角测试一下:

image.png

上图是测试成功的一个结果。这个时候可以点击”查看结果“

image.png

点击右边的结果列,可以查看结果的详情:

image.png


image.png

这就是通过devcloud进行接口测试的基本过程。

当然,我们也可以加一个反案例:TestListServerBlockDevices-Test2

具体过程跟前面一样,仅仅贴图示意下:

新建接口测试并建立需求关联:

image.png

image.png

保存并编写脚本:故意将请求头的X-Auth-Token写成 ERROR

image.png

保存,执行:

image.png

查看结果:

image.png

image.png

可见响应码是401,而且错误信息如下:

{
  "error_msg": "Incorrect IAM authentication information: decrypt token fail",
  "error_code": "APIGW.0301",
  "request_id": "a3be05a3fb0ad4f2f207f320839e124b"
}

当然,我们也可以看到,案例1和案例2,一个期待一个正确的结果,一个期待一个错误的结果。现在两个都是成功。对吗?肯定还是配置缺了点什么。。。我们来看看测试脚本中的“检查点”吧。

检查点的意思就是,我想看看响应是否符合我的预期,这跟 前面RestAssured里面的断言部分有点像。

让我们配置下,Test1返回码是200是正确返回。Test2返回码不是200,或者是401是正确返回。这样子配置:

image.png

image.png

重新做两个案例的测试:

image.png

我们可以看到,确实测试案例做了响应码的检查。因为现在API本身没问题。我们来制造一个问题,我们将响应码改为402认为是成功

image.png

重新测试,看红色的错误出现了:

image.png

再点击查看结果:

image.png

可见devcloud告诉你,结果跟预期的不一致。此次测试失败。当然,这里的检查点除了响应码,还可以对响应报文的响应头,响应体和变量做更详尽的判断。比如使用正则表达式等等。这里就暂时不细说了。

好了,笔者用生动的实例讲解了使用devcloud进行华为云API接口测试的具体过程。大家是不是觉得这块相比,跟Postman,以及TestNG+RestAssured的组合一样,都非常方便呢?其实API测试不仅仅局限于华为云的API,我们自己只要是支持Rest风格的接口,都是可以按照这样的方法进行测试的。只不过如果是使用devcloud进行接口测试,你需要把你的接口公布在互联网上,postman和TestNG+RestAssured倒是无此限制。所以,从适用范围上来看,TestNG+RestAssured也是有其丰富的实践场景的。


(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。