赞
踩
首先看一下metersphere(以下简称ms)的设计:在调试和运行用例的时候,需要选择一个环境去运行,再进行接口测试的时候,接口的url和路径是分开的。这样做的一个好处就是相同的case,可以直接指定不同的环境去执行,一套脚本可以同时去校验不同的环境有没有问题。
接下来看一下在ms里面配置环境的时候,是怎么去配置环境变量的:
在这个地方定义的环境变量的话,就有点类似于在postman里面自己定义的环境分组,然后在里面添加的变量。需要在运行的时候,选择对应的这个环境,然后就可以获取到对应的数据。
接下来讲一下在代码中怎么去定义变量,使得变量出现在上图的通用配置下面:
通过脚本编辑右边的那个项目环境下面,可以快速的调出设置环境变量的demo案例:
- vars.put(${__metersphere_env_id}+"key","value"); # 会体现在环境配置的通用配置下面,会持久化
- vars.put("key","value") #在用例运行的过程中才会去设置,运行完,估计变量就获取不到了
上面讲了2种设置方式的区别,今天主要来讲一下第一种可以在哪些场景下去使用,以我目前在公司使用的举例:
1、将登录的token存进去。
因为考虑到后期用例可能会并行执行,如果是在用例的脚本中去调用登录接口,并行的时候可能会出问题 ,账号单点登录的话,每个场景都去调用会造成干扰,貌似平台现在不支持测试计划级别的脚本,也就是执行测试计划前只跑一次的那种,现在貌似只有每个场景前执行一次的脚本。
2、在针对微服务做接口自动化的时候,由于每次在rancher上重新部署服务后,服务的ip地址和端口会变化,可以写一个脚本将动态ip存储到环境级别的变量中,这样的话,就不用每个接口都去调用获取ip的脚本,可以缩短脚本运行的时间。
如果你在使用metersphere平台做接口自动化的过程中有遇到问题,
欢迎一起探讨。
往期精彩回顾
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。