多平台统一管理软件接口,如何实现多平台统一管理软件接口
151
2024-02-02
做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较麻烦,使用工具比如jmeter、postman、soapui等等就比较麻烦。
我比较偏重脚本化执行测试用例,所以选择了groovy作为主要语言来进行接口测试,但是脚本依赖的库还是基于之前所在的java为主的测试框架,有兴趣的可以翻翻以前的文章。
项目的架构思路是以模块为基础把接口分类,然后对于接口的请求单独进行实现。通过一个user作为一个用户,携带各种属性,如:uname,pwd,token,userinfobean等信息。来作为各个模块类之间的信息传递。
回到修改密码接口,简单说一下我们接口的逻辑,先登录,获取token作为用户身份的唯一校验值,修改密码接口参数,newpwd,oldpwd,token。成功之后会返回新的token,作为用户继续其他操作的校验值。
分享一下自己的测试脚本代码:
class T8 extends OkayBase { public static void main(String[] args) { int thread =changeStringToInt(args[0]) int times =changeStringToInt(args[1]) List<ThreadBase> threads = new ArrayList<>() for (int i = 0; i < thread; i++) { OkayBase base = getBase(i) UserCenter userCenter = new UserCenter(base) userCenter.modifyPwd() ThreadBase threadBase = new ThreadBase() { @Override protected void before() { } @Override protected void doing() throws Exception { userCenter.modifyPwd() } @Override protected void after() { } } threadBase.setTimes(times) threads.add(threadBase) } new Concurrent(threads).start() allOver() } }main方法留了两个参数表示线程数和单线程请求数,下面是usercenter的主要代码。
public class UserCenter extends OkayBase { private static Logger logger = LoggerFactory.getLogger(UserCenter.class); public UserCenter(OkayBase okayBase) { super(okayBase); } public JSONObject modifyPwd() { String url = UserApi.MODIFY_PWD; JSONObject params = getParams(); params.put("newpwd", getPassword(this.getUname())); params.put("oldpwd", getPassword(this.getPwd())); JSONObject response = getPostResponse(url, params); output(response); if (isRight(response)) { String string = response.getJSONObject("data").getString("token"); this.setToken(string); } return response; } }引言这两天遭遇了手机号登录相关的压测需求,算是比较棘手的。主要原因有两个,第一:之前从来没有接手过这个项目,不熟悉各种规则;第二:数据量偏大,需要开发配合协调校验规则。 ...
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~