如何在robotframework中启用带有硒库的adblock

问题描述 投票:0回答:2

我希望在机器人框架测试执行期间将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不会在那里。

任何人都可以帮忙吗?

selenium firefox webdriver firefox-addon robotframework
2个回答
0
投票

您需要使用手动安装的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~~~

0
投票

创建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?
© www.soinside.com 2019 - 2024. All rights reserved.