(九)操作Cookie

有时候我们需要验证浏览器中是否存在cookie,因为基于真实的cookie点的测试是无法通过白盒和集成测试完成的。WebDriver提供了操作Cookie的相关方法可以读取、添加、删除cookie信息。

WebDriver操作cookie的方法有:

  • getCookies()  获取所有cookie信息
  • addCookie(cookie_dict) 添加cookie,必须有name、value
  • deleteAllCookies()  删除所有cookie信息
  • deleteCookieNamed(String name) 删除name 这个cookie
  • getCookieNamed(String name)  返回特定name的cookie值
System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe");
		System.setProperty("webdriver.gecko.driver", "E://selenium//geckodriver-v0.24.0-win64//geckodriver.exe");
		WebDriver driver=new FirefoxDriver();
		
		driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
		driver.get("http://www.baidu.com/");
		
		
		//添加cookie
		Cookie c1=new Cookie("name1","key111111111111111111111111111111111");
		Cookie c2=new Cookie("name2","key2");
		
	    driver.manage().addCookie(c1);
	    driver.manage().addCookie(c2);
	    
		//获取cookie
		Set<Cookie>  coo=driver.manage().getCookies();
		
		//获取特定cookie
		System.out.println(driver.manage().getCookieNamed("name1"));
		
		//删除指定cookie
		driver.manage().deleteCookie(c2);
		//检查是否删除成功
		System.out.println(driver.manage().getCookieNamed("name2"));
		
		//删除所有cookie
		driver.manage().deleteAllCookies();
		System.out.println(driver.manage().getCookies().size());
		

在测试过程中应用举例:开发人员开发一个功能,当用户登录后,会将用户的用户名写入浏览器cookie,指定的key为“username”,那么就可以通过getCookies()找到username,打印value,如果找不到username或对应的value为空,则说明保存浏览器的cookie是有问题的

posted @ 2019-05-03 20:39  测试开发分享站  阅读(104)  评论(0编辑  收藏  举报