37

每次我运行测试时,第一步都是登录,然后我就会进入想要的页面。如果运行这个测试经常登录操作需要很多时间。

我怎样才能通过登录操作?

使用 Chrome 和 Firefox 驱动程序,java 语言。

4

5 回答 5

45

使用Java API创建 cookie ,如下所示:

Cookie ck = new Cookie("name", "value");
driver.manage().addCookie(ck);

使用Python API创建 cookie ,如下所示:

driver.add_cookie({'name': 'foo', 'value': 'bar'})
于 2012-04-27T14:01:39.537 回答
19

对于那些需要设置更详细信息的人Cookienamevalue可以使用:

Cookie cookie = new Cookie.Builder("name", "value")
    .domain(".mydomain.com")
    .expiresOn(new Date(2015, 10, 28))
    .isHttpOnly(true)
    .isSecure(false)
    .path("/mypath")
    .build();

driver.manage().addCookie(cookie);
于 2015-10-28T20:52:01.007 回答
7
driver.manage().addCookie();

管理()

带有 Cookie 的选项接口

以及 Selenium 对Cookie的实现

于 2012-04-28T12:12:36.050 回答
0

就我而言,以下代码运行良好-

String token = tokenValue.substring(7);
    Cookie name = new Cookie("Token", token);
    driver.manage().addCookie(name);
于 2017-07-26T04:48:58.043 回答
0

Cookie 无法加载到某些网站上,因此,我处理此问题的方法是创建一个用户配置文件/数据文件夹。然后,我的浏览器就像普通浏览器一样运行,您不必自己手动存储 cookie。

爪哇

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=USER_DATA_PATH");
driver = new ChromeDriver(options);

Python

chrome_options = Options()
chrome_options.add_argument(f"user-data-dir={USER_DATA_PATH}") 
driver = webdriver.Chrome(options=chrome_options)
于 2022-02-11T06:40:08.207 回答