metersphere好用吗,metersphere官网
MeterSphere使用指南
MeterSphere是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的交付。
以 root 用户 ssh 登录目标服务器, 执行如下命令
安装脚本默认使用 /opt/metersphere 目录作为安装目录,MeterSphere 的配置文件、数据及日志等均存放在该安装目录
如果您的服务器可以访问互联网, 可以通过以下命令直接升级 metersphere 至最新版本
自 MeterSphere v1.3.0 起之后的版本才提供 upgrade 命令
安装成功后,通过浏览器访问如下页面登录 MeterSphere
备注:jmeter中脚本编写不太规范的话,导入可能会提示找不到引用的jar包方法
MeterSphere接口测试中使用beanshell脚本进行md5加密
import org.apache.commons.codec.digest.DigestUtils;
//导入org.apache.commons.codec.digest.DigestUtils;
String timeStamp = "${__time(/1000,)}";
//定义时间timeStamp=服务器时间;
String randomStr = "${__Random(11111111,99999999)}";
//定义时间随机数=8位1-9的随机数;
String tmp = timeStamp + randomStr + "xxxxx";
//定义tmp=时间timeStamp,8位随机数和密码xxxxx;
log.info("timeStamp:" + timeStamp);
//打印timeStamp;
log.info("randomStr:" + randomStr);
//打印randomStr;
log.info("tmp:" + tmp);
//打印tmp;
//String un = DigestUtils.sha1Hex(tmp);
//定义un=哈希sha1加密的tmp;
//log.info("un:" + un);
//打印un;
String signature = DigestUtils.md5Hex (DigestUtils.sha1Hex(tmp)).toUpperCase();
//定义signature==哈希sha1加密的tmp然后再进行md5加密后进行大写;
log.info("signature:" + signature);
//打印signature;
vars.put("signature", signature);
//打印signature;
vars.put("timeStamp", timeStamp);
//打印timeStamp;
vars.put("randomStr", randomStr);
//打印randomStr;
meterSphere使用文档
使用流程:首先我们拿到账号后需要 创建项目 ,为项目配置环境域名,在项目管理内还可以设置用户自定义变量、默认请求头操作;创建好项目后点击接口测试,选择该项目新建模块树用来管理接口集合,接下来创建 接口定义 ,就是把一个接口中的所需内容填写进去,包括接口名称、接口路径、请求方法、请求体、请求头部。填写完接口定义后点击保存,此时在对应模块的api列表中就能看到该接口定义;保存后点击测试会跳转到接口测试页面,需要验证接口是否能正常请求通过,这部分属于 用例设计 ,可以给用例添加断言、添加前置脚本、添加后置脚本、提取参数等操作,用例添加完需要另存为新用例,此时在对应模块的case列表里可以看到该用例;针对场景用例,需要在 接口自动化 里创建场景,然后引用已有的单接口用例来串成需要的场景用例进行调试。
官方文档
自定义变量添加(非必须,有需要自行添加),例如在多处需要用到该参数,就可以添加一个自定义变量。
环境域名配置,这个是必须添加的,运行用例的时候需要选择运行环境。请求头的设置非必须,根据需要可以自行配置
官方文档
配置好项目环境后,可以开始录入接口定义,通过左侧模块树来管理接口集合,模块树最多支持8级。
创建接口定义
点击测试,跳转到接口测试页面调试接口能正常请求
如果能正常请求通过,进行下一步添加断言
断言规则有5种,最简单的就是通过jsonpath
断言返回消息体内容,如果只是断言网络状态码的200,就没什么意义了
前置脚本、后置脚本使用,复杂的场景通过beanshell脚本可以做自己想要的逻辑处理,需要自己写好java程序打jar包,在项目管理中上传jar包,然后再导入包名底下的类,进行类实例化再调类里的方法来使用。变量的获取跟设置的方法与jmeter里的beanshell脚本里一致。
通过引用用例列表中的用例来组织想要的场景,例如老师约课,需要先走老师登录获再获取课程列表,然后约课。
复制的用例后期用例更改不会影响到场景里引用的用例,引用的用例再后期用例更改,也会同步影响场景里的用例,看自己需要是复制还是引用。
用例引用列表可拖动调整用例上下顺序