私はSeleniumlibraryテスト(robotframeworkで実行)を試し始めました。Webサイトには広告やメトリックなどがあるため、テストを実行するたびにそれらのURLが読み込まれます。
selenium / robotframeworkに特定のタイプのURLをロードしないように、または外部リソース(つまり、ローカルホストからのものではないものすべて)をロードしないように指示する方法はありますか?
私はSeleniumlibraryテスト(robotframeworkで実行)を試し始めました。Webサイトには広告やメトリックなどがあるため、テストを実行するたびにそれらのURLが読み込まれます。
selenium / robotframeworkに特定のタイプのURLをロードしないように、または外部リソース(つまり、ローカルホストからのものではないものすべて)をロードしないように指示する方法はありますか?
あなたはbrowsermob-proxyでそれを行うことができます。インストールしたら、プロキシを設定してブラックリストを設定するだけです。
ProxyServer server = new ProxyServer(9000)
server.start();
final DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, server.seleniumProxy());
//Send a 200 for all requests to the facebook cdn
server.blacklistRequests("http://.*\\.fbcdn.net/.*", 200);
//Finish setting up your driver
WebDriver driver = new SomeDriverImpl(capabilities);
私は以下がこのPythonラッパーで動作すると信じています(正規表現はわずかに異なる場合があります):
from browsermobproxy import Server
server = Server("path/to/browsermob-proxy")
server.start()
proxy = server.create_proxy()
proxy.blacklist('http://.*\\.fbcdn.net/.*', 200)
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
...
proxy.stop()
driver.quit()