模拟IP测试的2种解决方法

2011-12-11  付民 

背景:
之前遇到一个Labs日常需求是对于不同IP地址访问有逻辑判断,例如湖南的IP可以访问,其他地域的IP地址无法访问应用。
难点:
在测试过程中访问应用时,本地地址无法改变,始终为同一地址。对于不同IP地址段的需求无法测试
解决方案一
使用Debug方式远程调试代码
思路:通过本地发起Http请求,连接daily机或开发机,设置断点。当请求到达断点处,修改IP地址信息,模拟任意的IP地址请求。处理结果看返回信息
步骤一:使用Eclipse工具Debug方式,连接daily机\开发机

步骤二:在开发代码中找到请求处理的java文件,设置断点
使用本地IP地址访问页面,发起请求,例如访问http://www.daily.taobao.net
步骤三:发起请求后,在断点处修改IP的参数值,修改值之后,继续完成Debug操作,查看返回情况
 

方案一优点:不需要测试脚本准备,快捷简便、灵活数据值可以随意修改。比较适合于项目日常时间紧张时,快速完成测试的数据准备。
方案一缺点:项目日常测试完成后,不便于后期的回归。每次回归需要手动执行
==================================================================================================
解决方案二
利用测试脚本测试,在脚本中修改请求的参数
思路:
测试脚本中,修改请求的ip地址参数
 
操作:在测试脚本的请求中加入远程端地址信息
    public void setUp() throws Exception {
       HttpServletRequest  req  = new SimpleHttpServletRequest() ;
       setReferer( “http://www.taobao.com”);
        setRemoteAddr(“100.100.100.100″);     /*设置客户端地址*/
       setParameter(“taobao_nick”, “tbtest1061″);
       setSession(“login”, “true”);
       setSession(“_nk_”, “tbtest1061″);
       setParameter(“method”, “taobao.user.get”);     
    }
方案二优点:完成脚本编写,方便项目日常完成后的回归工作。
方案二缺点:脚本准备花费时间长,不适合在项目和日常紧张时来完成
转载务必注明出处Taobao QA Team,原文地址:http://qa.taobao.com/?p=14324
494°/4939 人阅读/1 条评论 发表评论

小窝  2012-01-10

已同步至官方微博


登录 后发表评论