51Testing软件测试论坛

标题: Java接口测试,研发自定义的md5加密方法,如何测,在线等… [打印本页]

作者: fridaymorning    时间: 2015-5-28 18:59
标题: Java接口测试,研发自定义的md5加密方法,如何测,在线等…
本帖最后由 fridaymorning 于 2015-5-28 19:01 编辑

接口测试,求指点,求指点!!!!!!!!在线等


环境描述:java开发的接口,提供给手机APP。
接口比较多,比较笨的办法就是写Junit(能力有限,参数都写的死的,一个类一个方法的测),现在想用jmeter做。表喷我,说Jmeter一般用来做性能的都是高手,我想用jemetr来做,纯碎是因为方便后期回归。

之前做的接口:http://localhost:8080?login.json?a=1&b=2这样的。直接添加一个用户参数,http请求,查看结果树就能搞定。修改参数的时候直接在用户参数里面修改。

接口请求如下:
String1=UrlEncod(a=1&b=2&c=3),其中abc是参数,UrlEncod是一个加密方法。
Post的http://localhost:8080/login.html?value=String1&ID=123

研发提供了一个方法post的方法:postURL(String url, Map<String, Object> map).将参数以Map的形式添加进去。写Junit也是直接调用的这个方法。如下
@Test  //登录 异常      cellphone ""
    public void loginCellphoneEmpty() {
        Map<String, Object> map =new HashMap<String, Object>();
        map.put("cellphone","");
        map.put("password", "123456");
        String code=HasCode(map,post_url);
        assertThat(code, is("1"));
    }


跪求建议(求提供一个例子):
1、还是写Junit测试,怎么把数据都参数化。统一管理,不用一个类一个类的去修改测试数据。
2、Jmeter有2个方法。
      1)、写类继承AbstractJavaSamplerClient。方法类似研发给的。但是我得一个类写个,然后添加到Jmeter里面添加Java请求。是不是我理解不对,轻拍。
      2)、把研发给的方法打一个包,在测试计划中添加进去。然后添加BeanShell Sampler。参数从用户参数中获取。但是一直报错。没搞定。添加一个http请求,value值=${loginen}$ID=123.BeanShell Sampler如下。


         import java.util.HashMap;
         import java.util.Map;
         import com.fxr.sdk.util.Constant;
         import com.fxr.sdk.util.DESUtil;
         import com.fxr.sdk.client.SdkClient;


         SdkClient sdk = new SdkClient();
         Map map = new HashMap();
         map.put("cellphone", "18267102941");
         map.put("password", "123456");
         String fxr="http://127.0.0.1/login.json";
         String url=sdk.postURL(fxr, map);
         vars.put("loginen",url);




我现在唯一成的就是Junit。其他都没成功过。路走歪了,还是怎么的,求指点~~~~~~~~~~~~啊~~~~~~~~~~~~~~~~~就差以身相遇了

联系方式QQ:965091126
















作者: jingzizx    时间: 2015-5-29 11:39
1/Junit想参数化,可以自己定义一个参数类啊,所有你自己写的接口类都包含这个类,然后直接在接口中修改参数值,不知道你是不是这个意思(可以向你们研发请教啊);
2/Jmeter中BeanShell Sampler没用过,你可以录制一个接口操作,因为参数都是可视化的,你直接修改参数就可以了,也可以在测试计划中定义变量,每个接口使用变量名;没怎么明白你的描述.

作者: o蜗牛快跑o    时间: 2016-1-4 20:56
http协议直接用jmeter的http sampler啊   为何要用java请求,多此一举
作者: 小未来    时间: 2016-4-15 11:36
问题解决了吗,,用jmeter接口测试可以
作者: akala    时间: 2016-4-15 18:15
UrlEncod只是编码非,加签加密几个办法:
1.最新的jmeter似乎带有MD5加签
2.用beanshell使用最原始的办法实现加签加密,太高级似乎包认不出
3.自己写接口继承
作者: akala    时间: 2016-4-15 18:19
另你先搞清楚用的是编码urlencode,加签MD5,还是加密AES ,RSA.动态的加密jmeter我试验过2.13的似乎不行,还得自己写。最快的办法就是让开发把加密去掉,或者校验的时候写死PASS。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2