【原创】零基础学习Selenium自动化测试(六)--Selenium WebDriver对cookie进行处理绕过登录验证码

大家经常纠结于UI自动化测试过程中验证码如何处理!! 比较简单的思路有:让开发在测试环境把验证码的功能屏蔽掉、让开发给你做一个万能验证码(比如1234)! 今天本文在这里介绍一个另辟蹊径的方案,绕过网站的登录验证码。

大家经常纠结于UI自动化测试过程中验证码如何处理!!

比较简单的思路有:让开发在测试环境把验证码的功能屏蔽掉、让开发给你做一个万能验证码(比如1234)!

今天本文在这里介绍一个另辟蹊径的方案,绕过网站的登录验证码。首先需要手动登录一次你的测试网站,去chrome的F12里获取这个网站的cookie信息,找到对应的保存登录信息的cookie,记录下来备用,接下来再代码中将上述cookie信息通过webdriver写入的自动化脚本所弹出的浏览器中,这样服务器就会认为你已经登录过了,从而达到绕过登录环节的目的。

代码参考如下:

package cn.testfan.test_selenium;

import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class TestCookieWithSelenium {

	public static void main(String[] args) throws InterruptedException {

		WebDriver driver = new ChromeDriver();
		driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

		driver.get("http://localhost:8080/javamall"); // 必须先访问一次测试页面,程序自动创建一次cookie
		driver.manage().deleteAllCookies(); // 删除cookie里的内容

		Cookie ck = new Cookie("JSESSIONID", "9AF1605B9B8020042522F557F903F8D1", "/javamall/"); // 初始化已经保存了登录信息的cookie
		driver.manage().addCookie(ck); // webdriver添加cookie

		driver.get("http://localhost:8080/javamall"); // 下面才是正式测试开始,这次访问完后,就会发现已经登录成功了
		driver.manage().window().maximize();

		Thread.sleep(2000);

		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()));

		driver.close();
		driver.quit();

	}

}

-------------------------------------我是华丽的分割线--------------------------------------------------------
Testfan楼大管家原创Selenium系列学习文章列表,点击阅读
---------------------------------------------------------------------------------------------------------------------
  • 发表于 2016-07-29 16:52
  • 阅读 ( 2646 )

2 条评论

请先 登录 后评论
不写代码的码农
楼大管家

测试达人

23 篇文章

作家榜 »

  1. hey girl 181 文章
  2. 王前前 137 文章
  3. 柠檬 118 文章
  4. lamking 105 文章
  5. 云少 105 文章
  6. 腾讯移动品质中心TMQ 104 文章
  7. humortony 82 文章
  8. 开心的阳光 41 文章