для решения подобных проблем есть BrowserMobProxy
- Форум тестировщиков
- → Публикации leipreachan
94 публикаций создано leipreachan (учитываются публикации только с 26 июня 2023)
Отправлено автор:
leipreachan
03 февраля 2014 - 09:50
в
Selenium - Functional Testing
для решения подобных проблем есть BrowserMobProxy
Отправлено автор:
leipreachan
03 февраля 2014 - 15:23
в
Selenium - Functional Testing
и к тому же,в моем случае,как я понял, необходимо:When you set a proxy for any given driver, it is set only at the time WebDriver session is created; it cannot be changed at runtime. Even if you get the capabilities of the created session, you won't be able to change it. So the answer is, no, you must start a new session if you want to use different proxy settings.
поскольку у меня и url,pass and login различные
а мне надо,чтобы ,после нажатия на клик,просто открывалась нужная страница, буду признателенза пример или совет
спасибо
эм.. так инициализируйте два объекта BrowserMob. Первый для одной страницы, второй - для другой.
Отправлено автор:
leipreachan
29 ноября 2013 - 12:34
в
Selenium - Functional Testing
Честно говоря, Java-драйвер я немного подзабыл, а на JUnit не писал - только testng. Но логика везде одинаковая.Ладно,перефразирую - какой ассерт использовать для проверки существования вэб элемента и его атрибута/атрибутов(комбинированное условие) ?
Отправлено автор:
leipreachan
01 апреля 2014 - 07:33
в
Selenium - Functional Testing
1)тест запускает форму,
2)нажимает на кнопку - открывается новое окно (или вкладку)
3)пытается найти элемент на вкладке (ищет на старой, необходимо на вновь открытой) - вылетает ошибка/исключение...
вопрос - как переключить тест на вновь открытую самим тестом вкладку?!
if (selenium.IsElementPresent( "xpath=(//a[contains(text(),'Баланс')])["+i+"]" ))//если существует
selenium.Click("xpath=(//a[contains(text(),'Баланс')])["+i+"]");//нажимаем баланс у №-нного контрагента
selenium.WaitForPageToLoad("30000");
//это должно быть уже на новой вкладке
selenium.Select("id=year", "label=2013");//год 2013
открывайте новые окна, а не вкладки. В настройка FF измените это и всё.
Отправлено автор:
leipreachan
07 февраля 2014 - 11:50
в
Selenium - Functional Testing
Добавил в настройках build step шаг build, и кириллица перестала работать. Ранее я собирал локально через eclipse, а черех TC только прогонял тесты - поэтому было все хорошо.
Кто - нибудь знает как правильно задать кодировку шагу build ?
пишу на java, соответственно собираю при помощи ant
причём тут селениум?
где и как перестала работать кириллица?
Отправлено автор:
leipreachan
18 февраля 2014 - 13:24
в
Selenium - Functional Testing
Для нашей команды в teamcity я настроил билды с возможностью указание группы тестов (указывается в аннотации). Так получается более гибко, чем VisualPHPUnit. Последний подходит в том случае, если команда оч. небольшая и нет вероятности, что кто-то забьёт селениум-ферму. К тому же, отсутствуют стандартные плюшки всех CI-серверов (статистика и т.п.)
Отправлено автор:
leipreachan
17 февраля 2014 - 07:49
в
Selenium - Functional Testing
Так это виртуалки. А где дистрибы ?
Уважаемый, это уже вам следует искать в google.com
Отправлено автор:
leipreachan
13 февраля 2014 - 10:29
в
Selenium - Functional Testing
Sauce Labsи Nerrvana - по функциональности подобное им, но чтобы я мог установить на свой хост
Вам для этого ещё свою серверную стойку надо будет завести.
Отправлено автор:
leipreachan
13 февраля 2014 - 08:03
в
Selenium - Functional Testing
Мне для php. Просто сайт-оболочка в котором будет выводиться, который могу запускать с этого сайта
Он для любого языка
ищите по ключевым словам Continious Integration server
их много - teamcity, jenkins, hudson, travis и другие.
Специализированное решение для запуска именно селениум-тестов было, но уже, насколько помню, не поддерживается.
вот, например, "на почитать"
Отправлено автор:
leipreachan
13 февраля 2014 - 13:33
в
Selenium - Functional Testing
Мне для php. Просто сайт-оболочка в котором будет выводиться, который могу запускать с этого сайта
Специализированное решение для запуска именно селениум-тестов было, но уже, насколько помню, не поддерживается.
Дайте,пожалйста, ссылку на сие творение ?
еле нашёл о нем упоминание
http://www.methodsan...ols.php?bromine
(искать тут http://web.archive.o...q.org/projects)
вообще, потом, похоже, его идеи фукидид (thucydides) перехватил.
Отправлено автор:
leipreachan
15 февраля 2014 - 08:44
в
Selenium - Functional Testing
driver.findElement(By.id("username")).sendKeys("" + num);
так нельзя делать, ай-ай-ай!!!
if (num!=null) {
driver.findElement(By.id("username")).sendKeys(num.toString());
}
num не может быть равен null, потому что num объявлен как int - это не объект, а примитивный тип.
Если бы num был объявлен как объект Integer, тогда проверка на null нужна обязательно.
А вот Ваш код должен выдать ошибку IDE:
вы правы насчёт ошибки IDE (пару лет уже на java не писал), общий смысл был в использовании toString() =)
Использовать конструкцию ""+int не принято, т.к. такой код "плохо пахнет" =)
Отправлено автор:
leipreachan
13 февраля 2014 - 14:50
в
Selenium - Functional Testing
Нечего в sendKeys интеджер пхать :-)
А слона-то я и не приметил.
Вообще странно, IDE обычно пишет чёрным по-жёлтому:
Перевод: метод sendKeys(CharSequence...) у типа WebElement не поддерживает аргументы (int)
Я думал, там какой-то Exception вываливается.
Топик-стартеру:
Решение элементарно
void log_out2(int num) throws Exception { //////////*************/////////////////////// driver.findElement(By.id("username")).clear(); driver.findElement(By.id("username")).sendKeys("" + num); //////////**************/////////////////// }
driver.findElement(By.id("username")).sendKeys("" + num);
так нельзя делать, ай-ай-ай!!!
if (num!=null) {
driver.findElement(By.id("username")).sendKeys(num.toString());
}
Отправлено автор:
leipreachan
11 марта 2014 - 12:54
в
Selenium - Functional Testing
grid:
java -jar selenium-server.jar -port 5555 -role hub
node:
java -jar selenium-server.jar -port 4544 -registerCycle 30000 -role node -hub http://localhost:5555/grid/register
Отправлено автор:
leipreachan
12 марта 2014 - 06:53
в
Selenium - Functional Testing
java -jar selenium-server.jar -port 4544 -registerCycle 30000 -role node -hub http://localhost:5555/grid/registerА как он будет регистрировать что-то в localhost'e, если там ничего не лежит?
не очень понял вопроса.
Если вы сначала запустите grid, то он и будет на локалхосте
Отправлено автор:
leipreachan
28 февраля 2014 - 09:18
в
Selenium - Functional Testing
Фантом, всё-таки, не очень стабильная штука. Попробуйте на обычном хроме гонять. Чуть больше накладные расходы, но есть мнение, что там с памятью лучше
Отправлено автор:
leipreachan
01 апреля 2014 - 14:47
в
Selenium - Functional Testing
К чему теория, просто запустите Bamboo и вперёд!
Появятся проблемы -- приходите и задавайте вопросы :)
Появился вопрос - хочу запускать webdriver тесты на отдельной машине. Опыта с Bamboo нет. Девы на днях переведут проект на Bamboo, следующим шагом будет попробовать запускать unit тесты и ui тесты. UI тесты (Selenium Webdriver) пока запускаю у себя на машине с командной строки при помощи maven. В какую сторону копать? С чего вообще начать? Bamboo должен удалённо запускать тесты на отдельной машине и получать оттуда результаты.
Bamboo, по моему личному мнению - крайне глючная вещь. Лучше Jenkins используйте.
Отправлено автор:
leipreachan
02 апреля 2014 - 07:23
в
Selenium - Functional Testing
Тут требование клиента, так что...
соболезную =)
Отправлено автор:
leipreachan
01 апреля 2014 - 14:45
в
Selenium - Functional Testing
их независимость позволяет реализовать две вещи:
1) параллельный запуск тестов
2) падение одной компоненты не будет останавливать работу всего набора.
Отправлено автор:
leipreachan
02 апреля 2014 - 08:51
в
Selenium - Functional Testing
Хорошо, зайдем с другой стороны. Функционал "создать учреждение" частично работает - учреждение создается, но в него невозможно добавить здания. Причем если создавать учреждение через api, или лить напрямую или через хранимки в базу - функционал "создать здания в учреждении" работает. Т.е. тесты проходят, но совокупный функционал приложения не работает.
если говорить о конях в вакууме, то "создать учреждение" может быть крайне редко используемым функционалом и его работа, конечно, важна, но если внезапно поломается, то не так страшно, как "здания в учреждении", которые заводятся, например, каждый день.
Мне кажется, это (то, как организовывать тесты) уже вопрос идеологический и к селениуму уж точно никакого отношения не имеет.
Отправлено автор:
leipreachan
10 декабря 2013 - 14:18
в
Selenium - Functional Testing
скорее всего, после клика по какому-нибудь элементу происходит частичная перерисовка страницы (через AJAX).Привет всем, я совершенно новый пользователю Selenium IDE и пытаюсь использовать его с EMC Documentum 5.3. Пытаюсь записать сценарии в firefox и получаю "Элемент не найден", ошибки. Записываются только первые несколько команд (при входе в Систему), далее при кликании по кнопкам, дереву, ссылкам действия не записываются. При ручной записи команд также ошибки. При этом если записываю сценарии с какого-либо сайта (ya.ru, google.com), все ок. Может ли кто-нибудь дать толковые советы, как-что сделать, чтобы сценарии на документуме заработали? Или примеры сценариев, статьи?
Отправлено автор:
leipreachan
11 марта 2014 - 14:17
в
Selenium - Functional Testing
Привет
В jsonwiredprotocol есть метод /url, который позволяет перейти по известному адресу.
Для него через "/timeouts" выставляется таймаут на то, сколько мы будем ждать загрузки страницы.
Но проблема в том, что если на страничке тупит какой-нибудь малозначительный рисунок, то /url будет ждать загрузки по максимуму, а потом упадёт с ошибкой "Timed out waiting for page load"
Никто не придумал ничего лучше, кроме try{}catch{} ?
Отправлено автор:
leipreachan
11 марта 2014 - 14:28
в
Selenium - Functional Testing
Можно просто игнорировать (логировать конечно, но не падать) все эти исключения внутри WebDriver (или своей обёртки вокруг него) и просто пытаться пройти дальше, если тормозящий элемент был незначителен, то тест пройдёт, а если нет, то где-нибудь свалится.
я и говорю, "Никто не придумал ничего лучше, кроме try{}catch{}"
ну, если не ошибаюсь, то можно удалять элемент джаваскриптом
как жеж я верну управление в поток теста, если страничка не загрузилась?=)
у меня синхронный php.
Отправлено автор:
leipreachan
11 марта 2014 - 14:45
в
Selenium - Functional Testing
ага
есть ещё webdriver.load.strategy , надо туда посмотреть
Отправлено автор:
leipreachan
11 марта 2014 - 15:25
в
Selenium - Functional Testing
странные ошибки какие-то лезут.
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Timed out waiting for page load. Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' System info: host: 'selenium', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-51-generic', java.version: '1.7.0_11' Driver info: driver.version: unknown at <anonymous class>.FirefoxDriver.prototype.get/<(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:8728) at <anonymous class>.WebLoadingListener/e(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:3333) at <anonymous class>.WebLoadingListener/<(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:3340) at <anonymous class>.fxdriver.Timer.prototype.setTimeout/<.notify(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:396)
Отправлено автор:
leipreachan
11 марта 2014 - 14:25
в
Selenium - Functional Testing
а чего нужно добиться и на каком инструменте/языке?
У меня php. Если метод open() (он же /url) всегда будет ждать загрузки страницы, то тупящий рисунок в футере автоматически замедляет тест.
Хочу иметь возможность самому определять то, что страничка загрузилась достаточно хорошо =)
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru