import org.openqa.selenium.Cookie import org.openqa.selenium.WebDriver import com.kms.katalon.core.webui.driver.DriverFactory WebUI.openBrowser('') '必须先访问一个地址,才能设置cookie' WebUI.navigateToUrl(GlobalVariable.G_URL) '获取driver' WebDriver driver = DriverFactory.getWebDriver() '设置cookie变量' Cookie ck = new Cookie("session", "6NuSrfC2AjwSLvBQlwvowA") '添加cookie' driver.manage().addCookie(ck) '刷新页面以使cookie生效' WebUI.refresh()
代码如上,具体需要加什么cookie,需要问开发或自己去抓包分析,教程自行百度。
可以看到操作Cookie都是用的Selenium本身的方法,包括Cookie的获取、增加、删除(如果你想退出登陆相应的可以把Cookie全清了),以下举些例子,具体大家可以去学习Selenium。
package com.test.cookies; import org.openqa.selenium.Cookie; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CookieOperation { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com"); driver.manage().window().maximize(); // 获取所有cookie个数 System.out.println(driver.manage().getCookies().size()); // 增加cookie Cookie cookie = new Cookie("username", "name", "/", null); driver.manage().addCookie(cookie); driver.manage().addCookie(new Cookie("password", "ppppwwww", "/", null)); // 以name获取cookie String name = driver.manage().getCookieNamed("username").getValue(); String info = "用户名是: " + name; String js = "alert("" + info + "");"; System.out.println(js); ((JavascriptExecutor) driver).executeScript(js); Thread.sleep(5000); driver.switchTo().alert().dismiss(); // 以name删除cookie driver.manage().deleteCookieNamed("password"); // 再次获取所有cookie个数,应该比之前多一个 System.out.println(driver.manage().getCookies().size()); driver.quit(); } }
---------------------------------------------------------------------------------
关注微信公众号即可在手机上查阅,并可接收更多测试分享~