验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢?

方法还是有的,先说今天这种方式,通过cookie绕过登录验证码

思路:

需要你通过抓包工具抓到你登录的cookie

接下来开始动手。

1、开启Fiddler 工具,像这样!

通过Cookie跳过登录验证码【限cookie不失效有用】_验证码

 

2、通过浏览器登录正常登录百度账号。像这样!

通过Cookie跳过登录验证码【限cookie不失效有用】_验证码_02

 

3、通过Fiddler获取登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。

通过Cookie跳过登录验证码【限cookie不失效有用】_验证码_03

然后,找到重要的两个参数“BAIDUID”和“BDUSS”。

 4、直接上代码

package seleniumapi;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;

public class LoginWithCookie {
    
    WebDriver driver;

    @BeforeClass
    public void beforeClass() {
        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
        driver=new ChromeDriver();
        
    }
    @Test
    public void testLoginWithCookie() {
        driver.get("https://www.baidu.com/");
        driver.manage().window().maximize();
        Cookie cookie=new Cookie("BAIDUID", "你的账号cookie");
        driver.manage().addCookie(cookie);
        Cookie cookie1=new Cookie("BDUSS", "你的账号cookie");
        driver.manage().addCookie(cookie1);
        driver.navigate().refresh();
    }

    @AfterClass
    public void afterClass() {
//        driver.quit();
    }

}

首先,访问百度首页,处于未登录状态。

然后,通过Selenium所提供add_cookie()方法添加Cookie信息。

运行结果如图:
通过Cookie跳过登录验证码【限cookie不失效有用】_验证码_04

 

优秀不够,你是否无可替代

软件测试交流QQ群:721256703,期待你的加入!!

通过Cookie跳过登录验证码【限cookie不失效有用】_验证码_05