小爸爸 发表于 2017-5-31 15:06:14

web 测试中绕开验证码登陆的方式

web自动化测试中让测试者感到困惑的是登陆验证码,每次都不一样。现在推荐一种绕开验证码登陆的方式,其实就是将web浏览器获取的登陆cookie加载到程序中就可以了,这样程序就会认为你已经登陆,就可以跳过登录的操作了。具体代码如下:

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

测试就是来开荒 发表于 2017-6-5 17:11:19

如果cookie过期了就没辙了。。

测试就是来开荒 发表于 2017-6-5 17:12:22

这个怎么弄的 我不会啊,楼主能否给一个稍微完整的示例代码参考一下,谢谢!
页: [1]
查看完整版本: web 测试中绕开验证码登陆的方式