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
1/Junit想参数化,可以自己定义一个参数类啊,所有你自己写的接口类都包含这个类,然后直接在接口中修改参数值,不知道你是不是这个意思(可以向你们研发请教啊);
2/Jmeter中BeanShell Sampler没用过,你可以录制一个接口操作,因为参数都是可视化的,你直接修改参数就可以了,也可以在测试计划中定义变量,每个接口使用变量名;没怎么明白你的描述.
http协议直接用jmeter的http sampler啊 为何要用java请求,多此一举 问题解决了吗,,用jmeter接口测试可以 UrlEncod只是编码非,加签加密几个办法:
1.最新的jmeter似乎带有MD5加签
2.用beanshell使用最原始的办法实现加签加密,太高级似乎包认不出
3.自己写接口继承 另你先搞清楚用的是编码urlencode,加签MD5,还是加密AES ,RSA.动态的加密jmeter我试验过2.13的似乎不行,还得自己写。最快的办法就是让开发把加密去掉,或者校验的时候写死PASS。
页:
[1]