- Форум тестировщиков
- → Публикации Breetonia
Публикации Breetonia
76 публикаций создано Breetonia (учитываются публикации только с 23 мая 2023)
По типу контента
По пользователю
#107142 Проверка сабмита формы
Отправлено автор: Breetonia 27 июня 2012 - 07:04 в Selenium - Functional Testing
Ситуация следующая:
Мне нужно написать тестовый метод,проверяющий,что кнопка сабмит нажата успешно(сообщение об ошибке не выходит в браузере).
Сами действия в эклипсе я программно воспроизвел,но после редиректа на внутреннюю страницу сайта(после авторизации),тестовый метод ждет и вылетает
по таймауту,установленному имплицитными ожиданиями.Мне этого не нужно.Мне нужно,чтобы выполнение метода прекращалось сразу после успешной авторизации и выполнялся assertTrue,но как мне проверить,что вход произошел ? После submit() я сразу оказываюсь авторизованным и selenium,как я писал выше,тупит и вываливается с ошибкой.Собственно,дальнейшее тестирование не представляется возможным.
Я решил сделать так: проверить хидер Location до сабмита и после сабмита.Если они отличаются,значит,редирект успешно произошел и я оказался успешно авторизован,но в селениуме я не нашел чего-либо,предусматривающего работу с хидерами или запросами/ответами.
Я так понимаю,что это нужно реализовать на Java,но тогда придется вообще забыть про Селениум,а реализовывать всё чуть ли не с нуля или использования готовых java libraries.Так что делать ?
P.S.: Первые два видеоурока Баранцева не дали ответа на поставленный вопрос.
Мне нужно написать тестовый метод,проверяющий,что кнопка сабмит нажата успешно(сообщение об ошибке не выходит в браузере).
Сами действия в эклипсе я программно воспроизвел,но после редиректа на внутреннюю страницу сайта(после авторизации),тестовый метод ждет и вылетает
по таймауту,установленному имплицитными ожиданиями.Мне этого не нужно.Мне нужно,чтобы выполнение метода прекращалось сразу после успешной авторизации и выполнялся assertTrue,но как мне проверить,что вход произошел ? После submit() я сразу оказываюсь авторизованным и selenium,как я писал выше,тупит и вываливается с ошибкой.Собственно,дальнейшее тестирование не представляется возможным.
Я решил сделать так: проверить хидер Location до сабмита и после сабмита.Если они отличаются,значит,редирект успешно произошел и я оказался успешно авторизован,но в селениуме я не нашел чего-либо,предусматривающего работу с хидерами или запросами/ответами.
Я так понимаю,что это нужно реализовать на Java,но тогда придется вообще забыть про Селениум,а реализовывать всё чуть ли не с нуля или использования готовых java libraries.Так что делать ?
P.S.: Первые два видеоурока Баранцева не дали ответа на поставленный вопрос.
#107070 Достать значение javascript переменной
Отправлено автор: Breetonia 25 июня 2012 - 13:43 в Selenium - Functional Testing
Как это можно сделать в Selenium WebDriver
Пример:
Переменная х определена в трех разных js скриптах в одном документе,но в объектном браузере она видна только в одном экземпляре,да ещё и объявлена как null.
В javascript-e я видел,как ей присваивается в качестве значения целый массив.Вот,этот массив и нужен...Что делать ? Как его получить ?
Пример:
Переменная х определена в трех разных js скриптах в одном документе,но в объектном браузере она видна только в одном экземпляре,да ещё и объявлена как null.
В javascript-e я видел,как ей присваивается в качестве значения целый массив.Вот,этот массив и нужен...Что делать ? Как его получить ?
#107056 Исходный код
Отправлено автор: Breetonia 25 июня 2012 - 09:20 в Selenium - Functional Testing
А через WebElement.findElement(By.xPath("//div[@title=\"blablabla\"")) никак ?
#107055 Незакрывается браузер после завершения теста
Отправлено автор: Breetonia 25 июня 2012 - 09:15 в Selenium - Functional Testing
Есть следующий код:
После успешной отработки метода авторизации(мы вошли в систему),почему-то драйвер не прекращает работу,а выходит куча exception-ов,а браузер остается открытым.
Что делать ? Использовал аннотацию @After
P.S.: При AssertionFailed Exception всё работает так,как надо ( браузер закрывается )
@After public void stopDriver() { driver.quit(); }
После успешной отработки метода авторизации(мы вошли в систему),почему-то драйвер не прекращает работу,а выходит куча exception-ов,а браузер остается открытым.
Что делать ? Использовал аннотацию @After
P.S.: При AssertionFailed Exception всё работает так,как надо ( браузер закрывается )
#107010 Selenium WebDriver,JUnit и Assert.isTrue - зачем ?
Отправлено автор: Breetonia 22 июня 2012 - 16:35 в Selenium - Functional Testing
Ладно,перефразирую - какой ассерт использовать для проверки существования вэб элемента и его атрибута/атрибутов(комбинированное условие) ?
#106998 Selenium WebDriver,JUnit и Assert.isTrue - зачем ?
Отправлено автор: Breetonia 22 июня 2012 - 11:33 в Selenium - Functional Testing
Меня ввело в ступор из статьи на сайте http://bugscatcher.net/archives/1232 описание Assert-ов для селениум вебдрайвер.
Зачем они нужны ? Это какая-то замена тестирования WebDriver через JUnit(т.е. я могу про JUnit вообще забыть) ?
Я пишу метод,тестирующий авторизацую на проекта(классика).Нужно его протестировать.Ситуация следующая - при отправке верных данных,форма их кушает и редиректит внутрь проекта,иначе на странице авторизации
появляется айдишник,в котором хранится текст ошибки.Поэтому я решил использовать assert-ы.
Тестировать буду в JUnit 4.Какой assert тут использовать ? Потому как остальные,на мой взгляд,не подходят,т.к. мне нужно либо проверять присутствие элемента на странице,либо текст этого элемента(при условии,что он,опять-таки,присутствует)
Опыт написания тестов на JUnit у меня 0,так что строго не судите.
Везде примеры с RC1,тогда как мне надо на RC2...
Зачем они нужны ? Это какая-то замена тестирования WebDriver через JUnit(т.е. я могу про JUnit вообще забыть) ?
Я пишу метод,тестирующий авторизацую на проекта(классика).Нужно его протестировать.Ситуация следующая - при отправке верных данных,форма их кушает и редиректит внутрь проекта,иначе на странице авторизации
появляется айдишник,в котором хранится текст ошибки.Поэтому я решил использовать assert-ы.
Тестировать буду в JUnit 4.Какой assert тут использовать ? Потому как остальные,на мой взгляд,не подходят,т.к. мне нужно либо проверять присутствие элемента на странице,либо текст этого элемента(при условии,что он,опять-таки,присутствует)
Опыт написания тестов на JUnit у меня 0,так что строго не судите.
Везде примеры с RC1,тогда как мне надо на RC2...
#106988 Проблема с проверкой текста элемента
Отправлено автор: Breetonia 22 июня 2012 - 09:22 в Selenium - Functional Testing
Если мне не изменяет склероз, getText() для элемента типа button всегда возвращает пустую строку. Используйте .getAttribute("value").
Нет,изменяет : )).Я практически всегда использую xPATH запросы к DOM узлам,если возможность не подвернется получше : ).
У наших button-ов кроме inner ничего нету,например:
<button id="b1" name="but1">I am button</button>
value,как я понимаю,здесь нет,и getText() возвращает I am button.В Javadoc подробнее не написано(про иннер).
#106987 Проблема с проверкой текста элемента
Отправлено автор: Breetonia 22 июня 2012 - 09:18 в Selenium - Functional Testing
Это java?!
Да,это Java = )
#106986 Проблема с проверкой текста элемента
Отправлено автор: Breetonia 22 июня 2012 - 09:18 в Selenium - Functional Testing
Уф,простите,я уже сгуглил)))Первый нормальный метод пишу...)С Java всегда косяки у меня : )
#106978 Проблема с проверкой текста элемента
Отправлено автор: Breetonia 22 июня 2012 - 08:08 в Selenium - Functional Testing
без if всё прекрасно работает...может,кодировка не та ? Как тогда проверять ?
#106977 Проблема с проверкой текста элемента
Отправлено автор: Breetonia 22 июня 2012 - 08:07 в Selenium - Functional Testing
Есть кнопка <button id="ext-14">ВХОД</button>
Есть код:
Этот код проходит по всем кнопкам и,если кнопка имеет надпись ВХОД,выводит текст кнопки на консоль(для отладки),но такой пример НЕ РАБОТАЕТ.
Очень интересует почему!
Есть код:
ArrayList<WebElement> buttons = (ArrayList<WebElement>) driver.findElements(By.xpath("//button")); for (int i = 0; i < buttons.size();i++) { String button_text = buttons.get(i).getText(); if(button_text.trim() == "ВХОД") { System.out.println(button_text); } } //driver.quit(); }
Этот код проходит по всем кнопкам и,если кнопка имеет надпись ВХОД,выводит текст кнопки на консоль(для отладки),но такой пример НЕ РАБОТАЕТ.
Очень интересует почему!
#106884 Как открить новую вкладку?
Отправлено автор: Breetonia 19 июня 2012 - 17:35 в Автоматизированное тестирование
Да никто и не говорил,что так надо : ).Во-первых, вкладка поэкономичнее и быстрее целого окна будет,хотя для обоих создаются процессы.
Во-вторых,так хочет автор темы.
В-третьих,мб так требуют в ТЗ.
Во-вторых,так хочет автор темы.
В-третьих,мб так требуют в ТЗ.
#106799 Как открить новую вкладку?
Отправлено автор: Breetonia 16 июня 2012 - 19:31 в Автоматизированное тестирование
А ты статью прочитай : )
#106782 Как открить новую вкладку?
Отправлено автор: Breetonia 15 июня 2012 - 17:42 в Автоматизированное тестирование
Вот,почитай тут - офигенный пример как раз для работы с вкладками.
http://automated-tes...enno-pri?page=1
http://automated-tes...enno-pri?page=1
#106781 Как открить новую вкладку?
Отправлено автор: Breetonia 15 июня 2012 - 17:34 в Автоматизированное тестирование
Хе,нашел вырезку из оффишэл доков)):
Этот код тебе будет переключать все вкладки или окна по дефолту,т.е. как они (в каком порядке) хранятся в массиве.Попробуй это.
Скрытый текст
All calls to driver will now be interpreted as being directed to the particular window. But how do you know the window’s name? Take a look at the javascript or link that opened it:
<a href="somewhere.html" target="windowName">Click here to open a new window</a>Alternatively, you can pass a “window handle” to the “switchTo().window()” method. Knowing this, it’s possible to iterate over every open window like so:
for (String handle : driver.getWindowHandles()) { driver.switchTo().window(handle); }
Этот код тебе будет переключать все вкладки или окна по дефолту,т.е. как они (в каком порядке) хранятся в массиве.Попробуй это.
#106779 Как открить новую вкладку?
Отправлено автор: Breetonia 15 июня 2012 - 17:25 в Автоматизированное тестирование
Вкладка - это окно.Тебе нужно получить ID окна и попробывать активировать его по ID.в WebDriver такое должно быть.
#106778 Нагрузочное тестирование с помощью Grinder
Отправлено автор: Breetonia 15 июня 2012 - 17:17 в Автоматизированное тестирование
Нету.Пользуюсь loadUI
#106716 Проблема автоматизации ExtJS компонентов...
Отправлено автор: Breetonia 14 июня 2012 - 19:09 в Selenium - Functional Testing
Проблема ещё и в том,что ExtJS генерирует id после генерации DOMа.Айдишники у некоторых элементов есть(жестко заданные),но они далеко не у всех.
#106715 Проблема автоматизации ExtJS компонентов...
Отправлено автор: Breetonia 14 июня 2012 - 19:05 в Selenium - Functional Testing
Вечер добрый.Столкнулся с тем,что нужно как-то автоматизировать кучу компонентов(около 50).
Проект состоит из PHP 5(фрэймворк),ExtJS 3.х и AJAX+JSON.
Встретил просто ТУЧУ средств автоматизации,но выбор пал почему-то на Siesta.
Документация в проекте есть,какие-то доки пишет другой тестировщик = ))(Пока сам не до конца осознает,что он делает,отвечать не особо настроен)))
В итоге непонятно,как проводить функциональное тестирование,поскольку непонятно,с чем сравнивать assert(что ожидать,что передавать)
Как думал я - получить список форм по их id,составить что-то вроде списка и создать генератор форм в обход интерфейса,но это бред - это уже не тестирование интерфейса,а тестирование php движка через сиесту)).Примеры если и есть,но достаточно громоздкие.Это наводит на мысль,что автоматизировать тестирование интерфейса нахрен не нужно...В итоге,что делать,я не знаю.
Проект состоит из PHP 5(фрэймворк),ExtJS 3.х и AJAX+JSON.
Встретил просто ТУЧУ средств автоматизации,но выбор пал почему-то на Siesta.
Документация в проекте есть,какие-то доки пишет другой тестировщик = ))(Пока сам не до конца осознает,что он делает,отвечать не особо настроен)))
В итоге непонятно,как проводить функциональное тестирование,поскольку непонятно,с чем сравнивать assert(что ожидать,что передавать)
Как думал я - получить список форм по их id,составить что-то вроде списка и создать генератор форм в обход интерфейса,но это бред - это уже не тестирование интерфейса,а тестирование php движка через сиесту)).Примеры если и есть,но достаточно громоздкие.Это наводит на мысль,что автоматизировать тестирование интерфейса нахрен не нужно...В итоге,что делать,я не знаю.
#106712 Запуск проверки сайта по url из cmd.
Отправлено автор: Breetonia 14 июня 2012 - 18:49 в Тест-дизайн и ручное тестирование
curl вроде ещё )
#106711 Помогите протестировать
Отправлено автор: Breetonia 14 июня 2012 - 18:47 в Тест-дизайн и ручное тестирование
Какой-то абстрактный вопрос = ).Тестирований много.Я так понимаю,ты на безопасность тестируешь(вручную)?)
Без знания багов мало что сделаешь.
Без знания багов мало что сделаешь.
#105754 Нужен Гайд для soap UI
Отправлено автор: Breetonia 19 мая 2012 - 16:35 в Автоматизированное тестирование
Благодарю,но с этим материалом я давно ознакомился.Увы,не помогло...
Как раз с курсами валют я и работал.Интересовал именно этот пример из-за более понятного руководства к нему
Как раз с курсами валют я и работал.Интересовал именно этот пример из-за более понятного руководства к нему
#105750 Как устроиться тестировщиком без опыта работы
Отправлено автор: Breetonia 19 мая 2012 - 11:57 в Личный рост, карьера, развитие
Человек эдак 30 за неделю = ))
#105423 soapUI - несколько вопросов : (
Отправлено автор: Breetonia 13 мая 2012 - 10:49 в Автоматизированное тестирование
Зачем я создал эту тему,а не десяток других ? Ответ,думаю,очевиден.
#105421 soapUI - несколько вопросов : (
Отправлено автор: Breetonia 13 мая 2012 - 09:03 в Автоматизированное тестирование
В процессе изучения возникла масса вопросов по soapUI и я надеюсь,что кто-нибудь соизволит дать развернутый ответ на мои вопросы.Привожу список ниже:
1) Загадочный объект context.Для чего он нужен ? В API его почему-то не нашел.Присутствует практически в 10 именах классов.
Для чего они ? Из описания оффа только смутные представления.
2) Есть ли где сборник примеров кодинга на Groovy ? Лишь бы код увидеть))
3) Написаны ли книги по soapUI или стоит ограничиться только вебинарами ?
4) Как получить доступ к ЛЮБОМУ свойству ? На оффе писали про какие-то ограничения взаимодействия.К примеру,экспэншн #Project#name я могу испол зовать в любом скрипте,но #Request#Encoding или #Response#Request я не могу получить.
Через ${context.expand('{}')) тоже не получается...
Насколько мне известно,это не системные свойства,получаемые через #System - таковые ведь хранятся в System -> Properties...?
Вот,пример:
Вызываю в Response-Script.TestSuite1 у меня есть.
5) Как получить параметры конкретного Request-а/Response-а из текущего/не из Request-a/Response-a через скрипты ? Допустим,у меня 4 риквеста(с последовательными айдишными именами) и 9 респонсов.
6) Что такое mockRequest.requestContent ? Совпадает с проперти Request во вкладке Custom Properties.
Как получить все свойства и где можно посмотреть их имена и значения ?
7) Делаю MockResponse.Пытаюсь создать и получить свойство для Response:
В ответ выводит null.Значит,такого свойства нету.Интересно бы узнать,в чем я просчитался...Делал по гайду офф.
8) Ломаю голову над тем,что такое def и чем оно отличается от,скажем,int x или x =.По сути ничего не изменяется...Чем они отличаются ?
9) Что за def allFiles = [] ?! Если это ява,то почему бы не a = new int[10]; или int a[10] ? Зачем вводить аналог PHP массивов ?
10) Нужно ли указывать каждый раз
Если уж это скриптовый язык,то, по моим представлениям,многое должно быть упрощено.
1) Загадочный объект context.Для чего он нужен ? В API его почему-то не нашел.Присутствует практически в 10 именах классов.
Для чего они ? Из описания оффа только смутные представления.
2) Есть ли где сборник примеров кодинга на Groovy ? Лишь бы код увидеть))
3) Написаны ли книги по soapUI или стоит ограничиться только вебинарами ?
4) Как получить доступ к ЛЮБОМУ свойству ? На оффе писали про какие-то ограничения взаимодействия.К примеру,экспэншн #Project#name я могу испол зовать в любом скрипте,но #Request#Encoding или #Response#Request я не могу получить.
Через ${context.expand('{}')) тоже не получается...
Насколько мне известно,это не системные свойства,получаемые через #System - таковые ведь хранятся в System -> Properties...?
Вот,пример:
def wow = context.expand('${#TestSuite1#Name}') log.info(wow) // Должно было вывести TestSuite1
Вызываю в Response-Script.TestSuite1 у меня есть.
5) Как получить параметры конкретного Request-а/Response-а из текущего/не из Request-a/Response-a через скрипты ? Допустим,у меня 4 риквеста(с последовательными айдишными именами) и 9 респонсов.
6) Что такое mockRequest.requestContent ? Совпадает с проперти Request во вкладке Custom Properties.
Как получить все свойства и где можно посмотреть их имена и значения ?
7) Делаю MockResponse.Пытаюсь создать и получить свойство для Response:
mockResponse.setPropertyValue("damned_prop","not work") def prop = mockResponse.getPropertyValue("damned_prop"); log.info(prop)
В ответ выводит null.Значит,такого свойства нету.Интересно бы узнать,в чем я просчитался...Делал по гайду офф.
8) Ломаю голову над тем,что такое def и чем оно отличается от,скажем,int x или x =.По сути ничего не изменяется...Чем они отличаются ?
9) Что за def allFiles = [] ?! Если это ява,то почему бы не a = new int[10]; или int a[10] ? Зачем вводить аналог PHP массивов ?
10) Нужно ли указывать каждый раз
importили есть по дефолту конкретные пакеты/классы,которые доступны изначально ? Т.е. чтобы не писать каждый раз
import blablablaили
Object obj = new blablabla().
Если уж это скриптовый язык,то, по моим представлениям,многое должно быть упрощено.
- Форум тестировщиков
- → Публикации Breetonia
- Политика Конфиденциальности
- Правила форума ·