Я пытаюсь добавить заголовки в мой запрос HTTP
для конкретного теста.Это очень важно, так как я пытаюсь протестировать приложение, предназначенное для мобильных телефонов.Мне удалось узнать о методе addCustomRequestHeader(String arg0, String arg1)
.К сожалению, кажется, я не знаю, как правильно его использовать.
Это мой набор тестов:
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();
}
}
Тестовый пример проходит, хотя строка "Golf" не должнапоявляются в мобильной версии страницы.При проверке навигатора я вижу, что я не в мобильной версии.
Кроме того, я получаю это ПРЕДУПРЕЖДЕНИЕ:
ПРЕДУПРЕЖДЕНИЕ: getString (addCustomRequestHeader) увидел плохой результатOK
Документация по методу addCustomRequestHeader
гласит:
Это работает, только если браузер настроен на использование встроенного прокси-сервера Selenium
Думаю, в этом проблема.Есть идеи, как мне это сделать?