0

请澄清一下,selenium 远程 Web 驱动程序很慢是否正常,每个驱动程序实例的创建大约需要 30 秒?

另一个问题是,我在启动 selenium RemoteWebDriver 服务器的控制台的初始化过程中看到了非常奇怪且非常大的日志。可以吗?看来这个大文本是用Base64编码的。

编辑: 下面是我在远程 Web 驱动程序控制台中启动 selenium 测试后可以看到的部分日志:

Executing: [new session: {firefox_profile=UEsDBBQACAgIAApgb0MAAAAAAAAAA..., javascriptEnabled=true, browserName=null}] at URL: /session) 12:00:26.644 INFO - Creating a new session for Capabilities [{firefox_profile=UEsDBBQACAgIAApgb0MAAAAAAAAAAAAAAAAvAAAAdGh1bWJuYWlscy81Y2IwNWZjYTcyMTdhNTBm YWY3NmQyYzkzNTU0NDE3ZS5wbmeEe2VYHM0SLhAiQIDgDiFYcHdZgru7u7u7BEkIFhb34BYguLss rsHdncVd < ..真的很长的日志...>

4

1 回答 1

0

可悲的是,Firefox 配置文件是通过线从集线器传输到节点的,这就是为什么您的请求时间很差。我们遇到了同样的问题,不得不修补 FirefoxDriver。

FirefoxDriver 源代码中,有一种方法称为extractProfile检查desiredCapabilities'firefox_profile键,然后requiredCapabilities firefox_profile键知道要加载哪个配置文件。如果您通过客户端添加配置文件,它将作为一个巨大的 base64 字符串通过电汇发送并在此处解码。

我们已经修补了这部分以处理“路径字符串”,例如 /path/to/firefox 以指向节点文件系统上的本地配置文件。这并不难,但你必须保持这一点。

也许你可以要求 Selenium 团队修改这部分,我们还没有花“错误报告时间”(因为我们认为这个 hack 是由于我们缺乏 webdriver 知识)

您可以通过修改现有驱动程序的 requiredCapabilities 来定义正确的配置文件。这可能是一个配置问题,但我们还没有找到一个有据可查的方法来做到这一点。

当您坚持使用电汇时,配置文件传输和解码会减慢整个过程(我认为,每次请求 20MB 左右的 base64 编码字符串也会减慢 Google 的网络服务器;-))

于 2013-11-15T11:59:35.577 回答