我使用Selenium和SimpleBrowser來做一些我的網站的無頭瀏覽器測試。我想在所有請求中手動設置「主機」條目。這樣我可以創建一個IIS實例,並綁定到dns中實際不存在的域名。如何在Selenium中使用SimpleBrowser webdriver時手動設置主機頭?
我想要做的正是這個(工作):
var req = (HttpWebRequest)WebRequest.Create("http://204.144.122.223");
req.Host = "www.asldkfhjawoeij.com";
Console.WriteLine(req.GetResponse().GetResponseStream().ReadToEnd());
但使用Selenium和SimpleBrowser。在下面的代碼中,如果我甚至可以覆蓋主機頭,哪裏?
[Test]
[TestCase("https://204.144.122.223.com/")]
public void CanGetHomepageAndVariousOtherUrls(string server)
{
using (var browser = new SimpleBrowserDriver())
{
browser.Url = server;
browser.FindElement(By.Id("home"));
}
}
看看[Browsermob-proxy項目](http://bmp.lightbody.net/)。 [Java的API可以輕鬆用於此任務,但文檔說他們也會很快將它添加到其REST API中。](https://github.com/lightbody/browsermob-proxy#http -request-manipulation)由於有一個2.0 beta 8版本,它可能已經包含了這個功能(雖然我不確定,但我是Java API的一個開心用戶),所以看看。 –