Я пытаюсь автоматизировать взаимодействие с веб-сайтом, который генерирует документы с использованием приложения типа MIME/vnd.wap.xhtml + xml. Я использую Selenium 2, WebDriver и FirefoxProfile.Selenium 2 WebDriver для использования пользовательского профиля
Поскольку Firefox не обрабатывает вышеупомянутый тип MIME, мне нужно запустить Firefox с расширением мобильного профиля XHTML (https://addons.mozilla.org/en-US/firefox/addon/1345/).
После создания профиля FireFox - я назвал его «selenium» и установил расширение Mobile Profile, я попытался использовать фрагменты кода в разделе «Советы и рекомендации» документа «Selenium 2.0 и WebDriver» (http : //seleniumhq.org/docs/09_webdriver.html#htmlunit-driver).
Подход № 1 выглядит следующим образом:
ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("selenium");
profile.setPreference("general.useragent.override", "User Agent string to force application/vnd.wap.xhtml+xml content..");
FirefoxDriver driver = new FirefoxDriver(profile);
driver.get("http://www.mobilesite.com/");
WebElement element = driver.findElement(By.tagName("body"));
подход # 2 выглядит следующим образом:
File profileDir = new File("/path/to/custom/profile/with/extension/ffprofile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
profile.setPreference("general.useragent.override", "same user agent string as above");
FirefoxDriver driver = new FirefoxDriver(profile);
driver.get("http://www.mobilesite.com/");
Независимо от того, что фрагмент кода я использую экземпляр браузера, который запускается всегда не в состоянии обрабатывать сгенерированный контент; браузер запрашивает у меня действие, чтобы принять содержимое непризнанного типа MIME, как если бы расширение было неправильно настроено.
Любые идеи о том, что я могу делать неправильно?
Спасибо заранее,
Редактировать: Link to Selenium users group post.
Возможно, вам лучше спросить форум поддержки селена? –
Я обязательно это сделаю. Спасибо за предложение. Сообщество StackOverflow настолько впечатляет, что оно стало моей первой остановкой для абсолютно всех вопросов ... :) – Ytsejammer
Вы смогли проверить, что надстройка загружается firefox, когда Selenium запускает ее? (Например, убедитесь, что тест не закрывает браузер, который он запускает, а затем видит, появляется ли надстройка в окне надстроек. Если это не так, я могу попробовать пару вещей: профайл другого, кроме Selenium (в случае, если Selenium вызывает собственный профиль по умолчанию, который он создает), или попробуйте использовать эквивалент Java для метода add_extension, который привязывает Ruby к профилю Firefox, чтобы автоматически загрузить расширение в профиль Selenium. –