背景:51Testing软件测试网!S0I-olF^2L
之前遇到一个Labs日常需求是对于不同IP地址访问有逻辑判断,例如湖南的IP可以访问,其他地域的IP地址无法访问应用。51Testing软件测试网sY@|([%t5F8JP
难点:
oN
O8Oe8KEg0在测试过程中访问应用时,本地地址无法改变,始终为同一地址。对于不同IP地址段的需求无法测试
8Bx'L
f)`OQ0解决方案一
xo5Y"z7i6w7S~5^\$e0使用Debug方式远程调试代码
3f i:R2}5C&`0思路:通过本地发起Http请求,连接daily机或开发机,设置断点。当请求到达断点处,修改IP地址信息,模拟任意的IP地址请求。处理结果看返回信息
bW6?+w'i,{mf0 51Testing软件测试网"?7v`sb m3_
步骤一:使用Eclipse工具Debug方式,连接daily机\开发机51Testing软件测试网VzC*|n0} H
0Vg5uY2l0 51Testing软件测试网BX-H
teG,N2G
步骤二:在开发代码中找到请求处理的java文件,设置断点
dqC#UG3qSG{B0使用本地IP地址访问页面,发起请求,例如访问http://www.daily.taobao.net51Testing软件测试网Mr!S"hA@
步骤三:发起请求后,在断点处修改IP的参数值,修改值之后,继续完成Debug操作,查看返回情况
Im(h(M r
B051Testing软件测试网/HKE-y3M
EP q
51Testing软件测试网len)[$nP
51Testing软件测试网Jv#LD_&BB_
[N4`5m*K;x1aI[0方案一优点:不需要测试脚本准备,快捷简便、灵活数据值可以随意修改。比较适合于项目日常时间紧张时,快速完成测试的数据准备。51Testing软件测试网ky;Gw#Q
方案一缺点:项目日常测试完成后,不便于后期的回归。每次回归需要手动执行51Testing软件测试网#r$lH*C_5S
==================================================================================================51Testing软件测试网0FU"f;znG0v
R
解决方案二
4wvAC
g$}!dQ4_$g0利用测试脚本测试,在脚本中修改请求的参数51Testing软件测试网!E![J&P'BqK2cX
思路:
Dac!DQ0测试脚本中,修改请求的ip地址参数51Testing软件测试网zV.b"p5J4q^
{,G6pxn [W?0 51Testing软件测试网i
]w:m1H)I4r
操作:在测试脚本的请求中加入远程端地址信息51Testing软件测试网1afB"U+yt1]
public void setUp() throws Exception {
-HP/m_ \3Wp0 HttpServletRequest req = new SimpleHttpServletRequest() ;
qq4@j1} ^by
@,c0 setReferer( “http://www.taobao.com”);
D+`7MgwE
Oc0 setRemoteAddr(“100.100.100.100″); /*设置客户端地址*/
;I [5?!V?-GUT0 setParameter(“taobao_nick”, “tbtest1061″);51Testing软件测试网8^3K9AoU
setSession(“login”, “true”);
T0r%{5ur3J7c3ZF0 setSession(“_nk_”, “tbtest1061″);
a:Azw'A.p5zF0 setParameter(“method”, “taobao.user.get”);
1r)aYB;jagXe0 }
6^
Etn#`w3y{0方案二优点:完成脚本编写,方便项目日常完成后的回归工作。51Testing软件测试网6vu"T+p*j^ L
方案二缺点:脚本准备花费时间长,不适合在项目和日常紧张时来完成51Testing软件测试网#Y`4sON
z^-|$[:nI