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

2022-12-02 15:20:12 浏览数 (1)

1

目前做自动化遇到的问题

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

2

怎么去解决这些问题

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

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

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

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

3

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

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

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

0 人点赞