我已经在机器上安装了firefox 14并且有firefox 可移植版本25.0.1,我在那里运行网站测试。
由于我正在测试的网站存在限制,我无法在firefox 14安装上运行我的测试。另外我无法升级firefox 14安装。
所以我正在寻找一个解决方案,我可以使用这个便携式firefox版本而不是安装的firefox 14版本。
我应该如何强制selenium使用这个便携版本而不是安装版本?如果有人可以指导我做一些很棒的描述性文章/博客。
我的代码如下: -
*变量*
${SELENIUM_HUB} remote_url=http://127.0.0.1:4444/wd/hub
${BROWSER} firefox D:\\Firefox Portable\\FirefoxPortable\\firefox.exe
${CLIENT_URL} https://abcd.aline.local
Open Browser ${CLIENT_URL} ${BROWSER} ${SELENIUM_HUB}
指定路径为D:/ Firefox Portable / FirefoxPortable / firefox.exe不起作用,因为'/'得到了删除。有什么想法吗?
PS:python是用过的语言
答案 0 :(得分:1)
在实例化Firefox webdriver时,您可以使用FirefoxBinary类作为firefox_binary参数指定所需的firefox二进制文件的路径。
和
确保二进制文件的路径是正确的,例如:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
firefox_binary = FirefoxBinary("D:\\Firefox Portable\\FirefoxPortable\\firefox.exe")
driver = webdriver.Firefox(firefox_binary=firefox_binary)
使用robotframework,如:
${firefox_binary}= Evaluate sys.modules['selenium.webdriver.firefox.firefox_binary'].FirefoxBinary("D:\\Firefox Portable\\FirefoxPortable\\firefox.exe") sys, selenium.webdriver.firefox_binary
Create Webdriver Firefox firefox_binary=${firefox_binary}
可能会有效。
答案 1 :(得分:0)
Selenium2Library不允许您在Open Browser关键字中指定浏览器路径,但它具有可用的remote_url
参数。在Selenium2Library获得适当的PhantomJS支持之前,使用PhantomJS的方法是remote_url
,http://spage.fi/phantomjs
因此理论上我们应该首先使用便携式Firefox,启动我们的Firefox,然后使用remote_url
连接到它。这样的事情。
Start Process c:\\path\\to\\portable\\firefox.exe
Open Browser http://google.com firefox main browser http://localhost:${firefox webdriver port}
问题是我不知道Firefox默认使用什么webdriver端口或如何指定它。另外,可能还需要为Firefox安装webdriver.xpi插件。附件可以在这里找到C:\ Python27 \ Lib \ site-packages \ selenium \ webdriver \ firefox或者你的python安装地点。
Selenium2Library中有一个Create Webdriver
关键字,它允许我们指定firefox_binary
(以及其他参数)。所以在理论上
Create Webdriver Firefox firefox_binary=c:\\path\\to\\portable\\firefox.exe
应该可以工作,但我得到的只是“AttributeError:'str'对象没有属性'launch_browser'”。
很抱歉我无法想办法做到这一点,但是通过深入挖掘Firefox webdriver端口或者Create Webdriver如何实际工作,你可能会更进一步。