51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1362|回复: 2
打印 上一主题 下一主题

[原创] web 测试中绕开验证码登陆的方式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-5-31 15:06:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
web自动化测试中让测试者感到困惑的是登陆验证码,每次都不一样。现在推荐一种绕开验证码登陆的方式,其实就是将web浏览器获取的登陆cookie加载到程序中就可以了,这样程序就会认为你已经登陆,就可以跳过登录的操作了。具体代码如下:

  1. private static void getLogin(String url,String cookie,WebDriver driver){
  2.     driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  3.     driver.get(url);  // 需手动访问一次测试页面获得cookie
  4.     driver.manage().deleteAllCookies();   // 删除cookie里的内容
  5.     Cookie ck = new Cookie("PHPSESSID", cookie);   // 初始化已经保存了登录信息的cookie
  6.     driver.manage().addCookie(ck);  // webdriver添加cookie
  7.     driver.get(url);   // 访问后就会发现已经登录成功了
  8.     //driver.manage().window().maximize();  //将浏览器最大化
  9.     driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);;
  10.     Set<Cookie> cookies = driver.manage().getCookies();
  11.     System.out.println(String.format("Domain -> name -> value -> expiry -> path"));
  12.     for (Cookie c : cookies)
  13.         System.out.println(String.format("%s -> %s -> %s -> %s -> %s", c.getDomain(), c.getName(), c.getValue(),c.getExpiry(), c.getPath()));
  14. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-6-5 17:11:19 | 只看该作者
如果cookie过期了就没辙了。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2017-6-5 17:12:22 | 只看该作者
这个怎么弄的 我不会啊,楼主能否给一个稍微完整的示例代码参考一下,谢谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 05:18 , Processed in 0.063241 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表