我希望在机器人框架测试执行期间将uBlock Origin插件作为speedtest.net上的广告启用,因为广告会完全破坏测试结果。
到目前为止,我已经创建了一个Python脚本来创建带有扩展名的配置文件
from selenium import webdriver
class WebDriverProfile:
def create_profile_with_adblock(self, path):
fp =webdriver.FirefoxProfile()
fp.add_extension(extension='d:/pathtoextension/ublock_origin-1.24.0-an+fx.xpi')
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",path)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/csv')
fp.update_preferences()
return fp.path
还有以下机器人脚本来调用该函数:
*** settings ***
Library Selenium2Library
library Process
library Dialogs
Library WebDriverProfile.py
*** Variables ***
${URL} https://speedtest.net
*** Test Cases ***
Test with speedtest.net
${FF_PROFILE}= Create Profile With Adblock ${TEMPDIR}\\testdirff
Open Browser ${URL} browser=ff ff_profile_dir=${FF_PROFILE}
Execute Manual Step Is adblocker enabled?
浏览器将打开,但adblocker不会在那里。
任何人都可以帮忙吗?
您需要使用手动安装的adblock创建一个新的浏览器配置文件。
现在,通过以下任何命令调用上述各自的配置文件。
Open Browser http://example.com Firefox ff_profile_dir=/path/to/profile # Using profile from disk
Open Browser http://example.com Firefox ff_profile_dir=${FirefoxProfile_instance} # Using instance of FirefoxProfile
Open Browser http://example.com Firefox ff_profile_dir=set_preference("key", "value");set_preference("other", "setting") # Defining profile using FirefoxProfile mehtods~~~
创建Webdriver而不是firefox配置文件并安装加载项。
Python扩展名:
from selenium import webdriver
class WebDriverProfile:
def create_web_driver_with_addons(self):
extension_location='d:\\path_to_adblock\\ublock_origin-1.24.0-an+fx.xpi'
browser = webdriver.Firefox()
browser.install_addon(extension_location, temporary=True)
browser.get('http://speedtest.net')
机器人脚本:
*** settings ***
Library Selenium2Library
library Process
library Dialogs
Library WebDriverProfile.py
*** Variables ***
${URL} https://speedtest.net
*** Test Cases ***
Test with speedtest.net
create web driver with addons
Execute Manual Step Is adblocker enabled?