5

私はSeleniumlibraryテスト(robotframeworkで実行)を試し始めました。Webサイトには広告やメトリックなどがあるため、テストを実行するたびにそれらのURLが読み込まれます。

selenium / robotframeworkに特定のタイプのURLをロードしないように、または外部リソース(つまり、ローカルホストからのものではないものすべて)をロードしないように指示する方法はありますか?

4

2 に答える 2

9

あなたは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()
于 2013-03-08T15:38:11.863 に答える