MeterSphere教程:python2前置脚本查mongodb库提取参数&查库断言

举报
小博测试成长之路 发表于 2022/09/25 08:05:27 2022/09/25
【摘要】 1 目前做自动化遇到的问题 在做自动化的时候,有两个问题一般要考虑,一个是脚本的健壮性,另一个是断言。脚本的健壮性能够使得你的自动化case更稳定,有效的断言可以使得我们对自动化的结果更加信赖。如果断言仅仅只是断言status_code是不是200,那么很多时候不能发现问题。比如接口是否返回数据,返回的数据对不对,这些是无法保...

1

目前做自动化遇到的问题

在做自动化的时候,有两个问题一般要考虑,一个是脚本的健壮性,另一个是断言。脚本的健壮性能够使得你的自动化case更稳定,有效的断言可以使得我们对自动化的结果更加信赖。如果断言仅仅只是断言status_code是不是200,那么很多时候不能发现问题。比如接口是否返回数据,返回的数据对不对,这些是无法保证的。用例执行成功与否的话,有时候跟测试数据有很大的关系,在日常做自动化的过程中,由于使用的是metersphere平台去做的自动化,在易用性和灵活性上还是没有自己写纯脚本那么方便,因此,一开始的时候测试数据都是写死固定的数据去调用,由于测试环境以及链路比较长,有些数据可能经常会被其他人给偷偷的改掉,导致用例总是执行失败,总是要去维护脚本。

2

怎么去解决这些问题

既然入参的数据总是被修改,那就写前置脚本查库获取数据,然后设置为变量,然后接口传参中用变量的方式去引入具体的值。

cc827f2a3003d323ae9044d0aafad671.png

脚本中的话,主要还是获取到具体的值后,用vars.put()函数将值设置到变量里面去,就类似于postman脚本中的

pm.environment.set("variable_key", "variable_value");

在接口调用传参的时候,使用${变量名}就可以。

3

分享在断言的时候遇到的一个问题

断言的时候,最近写了一个从数据库查数据然后与接口返回值进行断言的case,以前这么写也没遇到过什么问题,最近在测一个国际化接口的时候,接口返回的值是中文的,从数据库中拿到的中文的值在打印的时候其实不会变为乱码,但是由于log.info打印要传字符串类型,写脚本写习惯了之后,不管打印啥我都习惯性的加了一个str函数,导致原本读出来的中文字符串加上str函数转换之后,直接变为乱码:

7ada965a30871084410098f8e64631b1.png

ffe71db148e21c5c38cdec588c9c17f0.png

这个打印加上str转换会变乱码应该是由于python2的版本导致。

文章来源: xiaobotester.blog.csdn.net,作者:小博测试成长之路,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaobotester.blog.csdn.net/article/details/126984080

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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