Несколько сессий с разными юзерами в одном тесте
#1
Отправлено 07 августа 2009 - 10:49
В некоторых тестах, где нужно взаимодействие двух юзеров веб-приложения, хотелось бы запускать две различных сессии браузера, в которых авторизоваться под разными логинами и, переключаясь между ними, выполнять тест (постоянно делать logout-login в тесте как-то не хочется).
Как это правильно делается в Selenium RC? В смысле как запустить 2 браузера, как их различать, переключаться между ними и давать команды в определенный браузер? (использую Eclipse+Maven+TestNG)
#2
Отправлено 07 августа 2009 - 19:55
#3
Отправлено 08 августа 2009 - 09:37
Достаточно просто открыть две сессии, у них будут разные профили, а соответственно можно работать с двумя одновременно залогиненными пользователями.
Это понятно, но как именно? И как их отличать друг от друга?
#4
Отправлено 08 августа 2009 - 09:56
Не совсем понимаю проблему, что значит отличать? Зачем их отличать вообще? Каждая сессия - это отдельный объект, например:Это понятно, но как именно? И как их отличать друг от друга?
Selenium s1 = new DefaultSelenium(...); s1.start(); // Запускаем первый браузер. Selenium s2 = new DefaultSelenium(...); s2.start(); // Запускаем второй браузер.И так дальше с ними и работаем, хотим в первой сессии что-то сделать - значит используем s1, хотим во второй - используем s2.
#5
Отправлено 08 августа 2009 - 16:12
Проблема в том, что вопрошающий еще слабо понимает в Java. :)Не совсем понимаю проблему, что значит отличать? Зачем их отличать вообще? Каждая сессия - это отдельный объект, например:
И так дальше с ними и работаем, хотим в первой сессии что-то сделать - значит используем s1, хотим во второй - используем s2.
Спасибо большое за пример, теперь понятно.
#6
Отправлено 24 сентября 2009 - 14:00
Логи:
16:54:04.656 INFO - Command request: getNewBrowserSession[*firefox, https://dev.
vyke.com, ] on session null
16:54:04.671 INFO - creating new remote session
16:54:04.781 INFO - Allocated session 2ee8a16ac8c846b0948885415734dff1 for https
://xxx.xxx.com, launching...
16:54:04.875 INFO - Preparing Firefox profile...
16:54:07.484 INFO - Launching Firefox...
16:54:10.265 INFO - Got result: OK,2ee8a16ac8c846b0948885415734dff1 on session 2
ee8a16ac8c846b0948885415734dff1
16:54:10.265 INFO - Command request: getNewBrowserSession[*firefox, http://ac-se
rvice.info, ] on session null
16:54:10.265 INFO - creating new remote session
16:54:10.265 INFO - Allocated session 456757c7c35c4fdc9414f2b6eff14806 for http:
//ac-service.info, launching...
16:54:10.296 INFO - Preparing Firefox profile...
16:54:12.906 INFO - Launching Firefox...
16:54:15.984 INFO - Got result: OK,456757c7c35c4fdc9414f2b6eff14806 on session 4
56757c7c35c4fdc9414f2b6eff14806
Код:
public class testNew1 extends SeleneseTestCase{ public DefaultSelenium s,s2;@Before public void setUp(){ Selenium s2 = new DefaultSelenium("localhost", 4444, "*firefox","https://xxx.xxx.com");s2.start();Selenium s = new DefaultSelenium("localhost", 4444, "*firefox","http://ac-service.info");s.start();}@Afterpublic void tearDown() { s.stop(); s2.stop(); }@Testpublic void testNew() throws Exception{ s.windowFocus();
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных