Selenium - JAVA
#1
Отправлено 04 июня 2009 - 19:58
Я совсем-совсем чайник с Selenium'ом, да и с джавой. Есть следующая проблема-вопрос:
Есть web-приложение (использую firefox), при открытии сайта - вываливается мессадж-бокс с запросом на аутентификацию. Selenium IDE этот бокс не видит, просто не воспринимает, но все дальнейшее записывает. Я записываю тест. Сохраняю как java. Редактирую, чтобы откомпилилось. Компилирую. Запускаю на выполнение. Новое окно firefox открывается, и появляется бокс аутентификации. Скрипт завершается с ошибкой по тайм-ауту на OpenSite. Вопрос к знающим: как это все добро заставить видет аутентификацию, да еще и вводить логин/пароль.
Честно признаюсь, что пока не копалась в этом. Пишу тут с надеждой, что кто-то знает ответ, и съэкономит мое время (не кидайтесь тухлыми помидорами :)). Заранее благодарю.
С Уважением,
Галина
#2
Отправлено 04 июня 2009 - 21:07
Выхода здесь два:
1. Использовать нативные методы Selenium'а (*Native, доступны только при работе через RC).
2. Вводить логин/пароль сразу в URL'е по типу http://name:pass@myserver.com. Но надо помнить о безопасности.
PS: не такой уж это и чайничный вопрос :) даже наоборот
#3
Отправлено 05 июня 2009 - 06:39
#5
Отправлено 08 июня 2009 - 07:57
Добрый день,Да, Selenium не может так просто пройти basic-аутентификацию.
Выхода здесь два:
1. Использовать нативные методы Selenium'а (*Native, доступны только при работе через RC).
2. Вводить логин/пароль сразу в URL'е по типу http://name:pass@myserver.com. Но надо помнить о безопасности.
PS: не такой уж это и чайничный вопрос :) даже наоборот
Я не эксперт в Селене, НО http://name:pass@myserver.com работает только для FireFox. Для IE это работает только если вы сделаете прыжок с переподвыподвертом, описанный в селеновском вики: How do I use Selenium to login to sites that require HTTP basic authentication
Удачи, будут вопросы - обращайтесь.
Про Тестинг
#6
Отправлено 08 июня 2009 - 08:13
Нет, здесь как раз всё впорядке, работает во всех браузерах, но в IE эта функциональность просто по умолчанию отключена, никакой это не переподвыверт. К тому же Selenium RC сам включает эту функциональность при запуске теста, так что в этом случае настраивать ничего не нужно.Я не эксперт в Селене, НО http://name:pass@myserver.com работает только для FireFox. Для IE это работает только если вы сделаете прыжок с переподвыподвертом, описанный в селеновском вики
#8
Отправлено 08 июня 2009 - 21:13
DefaultSelenium#windowMaximize()Новый вопрос появился:
какой java-метод разворачивает окно браузер по максимуму?
Рекомендую почитать все Java-доки по драйверу, это не займёт много времени, зато потом будет намного проще.
#9
Отправлено 09 июня 2009 - 06:09
DefaultSelenium#windowMaximize()Новый вопрос появился:
какой java-метод разворачивает окно браузер по максимуму?
Рекомендую почитать все Java-доки по драйверу, это не займёт много времени, зато потом будет намного проще.
Спасибо, работает.
Почитаю, спасибо за совет!
#10
Отправлено 10 июля 2009 - 11:54
#11
Отправлено 15 июля 2009 - 23:50
Если честно, то ничего не понял из этого сообщения. Что значит "не работает и всё тут"? Что происходит? Что хочется, чтобы происходило? Какой тип авторизации?Привет, что делать если не работает http://name:pass@myserver.com и все тут! Появляется время от времени с незаполненными полями все равно.
#12
Отправлено 30 июня 2010 - 14:08
RC+Java
#13
Отправлено 01 июля 2010 - 03:02
или покажите код или откройте наружу сервер
#14
Отправлено 21 ноября 2012 - 14:24
К примеру, несколько окон аутентификаций выскакивает при загрузке страницы, одно при входе в систему (login) под определённым пользователем, одно - после выхода из системы (logout).
Весь код выглядит так:
package com.example.tests;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class LoginLogout {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://site1.domain.com/";;
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testLoginLogout() throws Exception {
driver.get("http://login:passwor...te1.domain.com");
driver.findElement(By.id("centerId")).clear();
driver.findElement(By.id("centerId")).sendKeys("***");
driver.findElement(By.id("login")).clear();
driver.findElement(By.id("login")).sendKeys("*****");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("*****");
driver.findElement(By.id("submit")).click();
driver.findElement(By.linkText("Log out")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}
В процессе его выполнения как минимум трижды высвечивается окно аутентификации (логин и пароль везде одинаковы):
- к http://site1.domain.com/ (это основной сайт - окно не высвечивается, т.к. прописал "http://login:passwor...te1.domain.com")
- к http://site2.domain.com/
- к http://site3.domain.com/
Как избавиться от всех возможных окон аутентификации, которые могут появиться при работе с системой?
#15
Отправлено 21 ноября 2012 - 14:53
http://automated-tes...ogo-okna-logina
#16
Отправлено 21 ноября 2012 - 16:14
Слава богу, добавили "разрешённый" ИП и проблема отпала
#17
Отправлено 21 ноября 2012 - 16:43
Для ФФ решил проблему просто: сохранил профиль с сохранённым паролем и окошка этого не вижу.
Можно поподробнее, как это сделать?
#18
Отправлено 21 ноября 2012 - 16:45
Это известная проблема с NTLM authentication. К сожелению (или счастью) я ней лично не сталкивался, но имхо данная ссылка вам должна помочь
http://automated-tes...ogo-okna-logina
К сожалению, не нашёл именно моего случая. В основном там обсуждают то, как решить проблему с одним модальным окном... а у меня их несколько.
#19
Отправлено 22 ноября 2012 - 07:44
а вот теперь я уже ничего не понял. Возможно вам мой вариант не подойдёт. Если вы открываете сайт вручную, то сколько раз появляется окошко аутентификации? + если вы в ФФ нажмёте сверху (или где там появляется эта кнопочка) "Сохранить пароль", то следующий раз на сайт вы заходите без авторизации?
Это известная проблема с NTLM authentication. К сожелению (или счастью) я ней лично не сталкивался, но имхо данная ссылка вам должна помочь
http://automated-tes...ogo-okna-logina
К сожалению, не нашёл именно моего случая. В основном там обсуждают то, как решить проблему с одним модальным окном... а у меня их несколько.
#20
Отправлено 22 ноября 2012 - 09:07
а вот теперь я уже ничего не понял. Возможно вам мой вариант не подойдёт. Если вы открываете сайт вручную, то сколько раз появляется окошко аутентификации? + если вы в ФФ нажмёте сверху (или где там появляется эта кнопочка) "Сохранить пароль", то следующий раз на сайт вы заходите без авторизации?
Это известная проблема с NTLM authentication. К сожелению (или счастью) я ней лично не сталкивался, но имхо данная ссылка вам должна помочь
http://automated-tes...ogo-okna-logina
К сожалению, не нашёл именно моего случая. В основном там обсуждают то, как решить проблему с одним модальным окном... а у меня их несколько.
Когда просто работаю с браузером - бывает по разному (при первом входе - появляются окошки, при последующих обычно нет).
Но при прогоне кода через эклипс - постоянно всплывают все окошки аутентификации.
С первым окном я ещё разобрался (http://site1.domain.com/), а вот с остальными не знаю как быть...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных