背景:51Testing软件测试网[ Qt owc"\*Tr1kS
之前遇到一个Labs日常需求是对于不同IP地址访问有逻辑判断,例如湖南的IP可以访问,其他地域的IP地址无法访问应用。
;s^-Zzs7Q2Cf0难点:
.m$f9K-Z o0在测试过程中访问应用时,本地地址无法改变,始终为同一地址。对于不同IP地址段的需求无法测试
e%lLbL#Fm0解决方案一
MF?Yi,A4Q,s0使用Debug方式远程调试代码51Testing软件测试网A2QV)j s4U(M
思路:通过本地发起Http请求,连接daily机或开发机,设置断点。当请求到达断点处,修改IP地址信息,模拟任意的IP地址请求。处理结果看返回信息
:Z#U)~s/Rr[0 51Testing软件测试网`6xxT2ec
步骤一:使用Eclipse工具Debug方式,连接daily机\开发机51Testing软件测试网R3T,\1uSw%oA
ikw!K%H0 51Testing软件测试网U+z#`hGB5?z.}O/e
步骤二:在开发代码中找到请求处理的java文件,设置断点51Testing软件测试网#M"kSoT(g
使用本地IP地址访问页面,发起请求,例如访问http://www.daily.taobao.net51Testing软件测试网o _D yw5H!Ia3Z)r
步骤三:发起请求后,在断点处修改IP的参数值,修改值之后,继续完成Debug操作,查看返回情况
8j&\A0S0`.x/ZR(L+Y8~051Testing软件测试网w~+\0rq(I7i@
'LN(rz#t2Mx0
|d*p*l/GENPF'F0 51Testing软件测试网Jl c:uz@%\6i
方案一优点:不需要测试脚本准备,快捷简便、灵活数据值可以随意修改。比较适合于项目日常时间紧张时,快速完成测试的数据准备。51Testing软件测试网Dc:g"]F*xP/x
方案一缺点:项目日常测试完成后,不便于后期的回归。每次回归需要手动执行51Testing软件测试网:?dd
u(_1G:K9l
==================================================================================================
x:?m
m*s [d!T0解决方案二51Testing软件测试网y5Pr4tc&H
利用测试脚本测试,在脚本中修改请求的参数51Testing软件测试网'|g$Z){J4?6S.q
思路:51Testing软件测试网Y)n-\g)qg8IpB'e
测试脚本中,修改请求的ip地址参数51Testing软件测试网5q{"`5f/VS.t
51Testing软件测试网5W&i
M+n"^
F
M2`-?:u5tE9knB0操作:在测试脚本的请求中加入远程端地址信息
q4@9\0P:M6}0 public void setUp() throws Exception {
t&Y+X"g
d
yy
N0 HttpServletRequest req = new SimpleHttpServletRequest() ;51Testing软件测试网BW`?6vAa)CE(L
setReferer( “http://www.taobao.com”);
e3K R:|K8}i0 setRemoteAddr(“100.100.100.100″); /*设置客户端地址*/51Testing软件测试网nyL.` g5r
setParameter(“taobao_nick”, “tbtest1061″);51Testing软件测试网?Ba`%Y/r[l3a
setSession(“login”, “true”);
nnq/?%_}L0 setSession(“_nk_”, “tbtest1061″);51Testing软件测试网
N3m[&j
C
c"x%B5W E#|G
setParameter(“method”, “taobao.user.get”);
![
q Wfl*j5B*P[#X0 }51Testing软件测试网Xcl rfv
方案二优点:完成脚本编写,方便项目日常完成后的回归工作。
-sBC,m n4~
U$r0方案二缺点:脚本准备花费时间长,不适合在项目和日常紧张时来完成51Testing软件测试网'^:c%z6H4k6A.jF5q