0

我有一个基于 perl 的 selenium 脚本,其中包含以下语句:

$sel = Test::WWW::Selenium->new( host => "localhost", 
                            port => 4444, 
                            browser => "*chrome", 
                            browser_url => "https://$ARGV[0]/" );

这会引发 Firefox 浏览器。我希望当 Firefox 浏览器被抛出时,它被配置为使用我的代理,即 127.0.0.1:8080,我已经启动了代理服务。如何在不对上面显示的代码进行任何更改的情况下完成此操作?

4

1 回答 1

0

对于 Firefox,您需要为 Selenium创建配置文件。启动 Firefox-ProfileManager -no-remote以便能够选择此配置文件。相应地配置它。

使用 Selenium webdriver 启动 Firefox 时,您可以指定要使用的配置文件webdriver.firefox.profile

我找不到使用 Perl API 实现相同目标的解决方案。您可能必须破解源才能指定配置​​文件。只需将-P配置文件的名称添加到浏览器进程的命令行选项中即可。

或者,您可以在运行测试之前在路径变量中插入一个脚本。例如,在 Unix 上:

#!/bin/bash

/usr/bin/firefox -P selenium

将其保存在 中,$HOME/selenium/bin/firefox使这个新文件可执行,然后:

export PATH="$HOME/selenium/bin/firefox;$PATH"

测试不会认为脚本是 firefox 可执行文件并运行它。然后该脚本将使用正确的参数运行 Firefox。

于 2013-11-13T10:37:58.007 回答