每次我运行测试时,第一步都是登录,然后我就会进入想要的页面。如果运行这个测试经常登录操作需要很多时间。
我怎样才能通过登录操作?
使用 Chrome 和 Firefox 驱动程序,java 语言。
使用Java API创建 cookie ,如下所示:
Cookie ck = new Cookie("name", "value");
driver.manage().addCookie(ck);
使用Python API创建 cookie ,如下所示:
driver.add_cookie({'name': 'foo', 'value': 'bar'})
对于那些需要设置更详细信息的人Cookie
,name
您value
可以使用:
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);
就我而言,以下代码运行良好-
String token = tokenValue.substring(7);
Cookie name = new Cookie("Token", token);
driver.manage().addCookie(name);
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)