我試圖添加標題到我的HTTP
請求一個特定的測試用例。這是非常重要的,因爲我試圖測試一個旨在用於手機的應用程序。我設法找出了方法addCustomRequestHeader(String arg0, String arg1)
。不幸的是,似乎我不知道如何正確使用它。如何正確使用addCustomRequestHeader
這是我的測試套件:
package testscripts;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.SeleneseTestCase;
import com.thoughtworks.selenium.Selenium;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TCNewspapers extends SeleneseTestCase {
//Local parameters
private static final String SELENIUM_SERVER_HOST = "localhost";
private static final int SELENIUM_SERVER_PORT = 4444;
private static final String NAVIGATOR = "*firefox";
private String URL = "http://www.marca.com/";
Selenium selenium;
@Before
public void setUp() throws Exception {
super.setUp();
selenium = new DefaultSelenium(SELENIUM_SERVER_HOST,
SELENIUM_SERVER_PORT,
NAVIGATOR,
URL);
setUp(URL, NAVIGATOR);
//selenium.start();
selenium.start("addCustomRequestHeader=true");
//selenium.start("captureNetworkTraffic=true, addCustomRequestHeader=true");
Thread.sleep(5000);
selenium.windowMaximize();
}
@Test
public void testOpenMarcaMobilePage() {
selenium.addCustomRequestHeader("user-agent", "Mozilla/5.0 (iPhone;");
selenium.open(URL);
selenium.waitForPageToLoad("300000");
verifyTrue(selenium.isTextPresent("Golf"));
}
@After
public void stopClient() throws Exception {
selenium.stop();
}
}
測試用例傳球,althoug的「高爾夫」字符串不應該出現在頁面的移動版本。當檢查導航器時,我發現我不在移動版本中。
而且,我得到這樣的警告:
警告:的getString(addCustomRequestHeader)看到壞的結果確定
addCustomRequestHeader
方法的文檔說:
這僅當瀏覽器配置爲使用內置的Selenium代理時纔有效
我想這就是問題所在。任何想法我怎麼能做到這一點?
感謝您的答案nivdrum。我做的是:設置我的Firefox通過Selenium服務器(localhost:4444)連接到互聯網,然後,因爲在我的辦公室我通過代理連接到互聯網,我用選項-Dhttp.proxyHost = myProxy啓動了我的Selenium服務器 - Dhttp.proxyPort = 8080。 – Panacea 2010-12-30 12:41:58
儘管它工作,我仍然得到這個警告:警告:getString(addCustomRequestHeader)看到一個壞結果確定 – Panacea 2010-12-30 13:41:56
我不熟悉警告消息。但是,你在運行什麼版本的Selenium?我修復了2.0a5或2.0a6中的一些請求頭文件。 – nirvdrum 2010-12-30 16:54:09