gpt4 book ai didi

firefox - 使用配置文件共享相同配置文件副本的 FirefoxDriver 测试的并行执行

转载 作者:行者123 更新时间:2023-12-05 01:27:42 25 4
gpt4 key购买 nike

一段时间以来,我们一直在使用 FirefoxDriver 执行一组基于 WebDriver 2.25.0 的自动化测试。测试由基于 Maven 3.0 的构建及其 FailSafe 插件并行执行(在四核机器上每个内核 2 个线程)。每个测试都有一个@BeforeClass 方法来检索 FirefoxDriver 的实例并清除所有 cookie。所有这些都运行良好。

由于对代理身份验证的更改(以前没有),我们现在需要使用特定的 Firefox 配置文件运行测试。配置文件已创建,构建现在包含 -Dwebdriver.firefox.profile= 环境变量。该配置文件似乎已被拾取,因为我们没有收到任何“未找到配置文件”错误。然而,似乎每个 Firefox 实例都使用相同的配置文件副本,因此共享相同的 cookie 存储:应用程序应该在用户首次访问时提供区域选择对话框,但在运行这些测试时却没有。

更新:在不使用 -Dwebdriver.firefox.profile 变量和使用 new FirefoxDriver(new ProfilesIni().getProfile(" ")) 运行时,行为相同。

FirefoxDriver 不是创建指定配置文件的副本并使用该独立副本运行每个 Firefox 实例吗?

谢谢!

最佳答案

  • 如果您在实例化 FirefoxDriver 时没有提供配置文件,那么当您运行代码时:new FirefoxDriver(...) ,将在 中创建一个匿名配置文件code>C:\Users\#TheUser\AppData\Local\Temp 文件夹,命名为例如anonymous1864251113973276405webdriver-profile
  • 如果您为 FirefoxDriver 提供一个配置文件,那么行为是相同的,除了配置文件副本被命名的事实:例如userprofile6938771758695790613copy

总而言之,Webdriver 始终会在此 Temp 文件夹中创建配置文件的副本,无论您是否指定必须使用的自定义配置文件。关于 cookie,每个创建的配置文件中都有一个名为 cookies.sqlite 的文件。我不是 100% 确定 cookie 是否会以某种方式干扰,它们不应该。您可以通过比较每个网络驱动程序中保存的 cookie 来检查,使用:

 Set<Cookie> webDriverCookies = webDriver.manage().getCookies();

关于firefox - 使用配置文件共享相同配置文件副本的 FirefoxDriver 测试的并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com