Перейти к содержимому

Публикации Breetonia

76 публикаций создано Breetonia (учитываются публикации только с 23 мая 2023)



#107142 Проверка сабмита формы

Отправлено автор: Breetonia 27 июня 2012 - 07:04 в Selenium - Functional Testing

Ситуация следующая:

Мне нужно написать тестовый метод,проверяющий,что кнопка сабмит нажата успешно(сообщение об ошибке не выходит в браузере).
Сами действия в эклипсе я программно воспроизвел,но после редиректа на внутреннюю страницу сайта(после авторизации),тестовый метод ждет и вылетает
по таймауту,установленному имплицитными ожиданиями.Мне этого не нужно.Мне нужно,чтобы выполнение метода прекращалось сразу после успешной авторизации и выполнялся 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 я видел,как ей присваивается в качестве значения целый массив.Вот,этот массив и нужен...Что делать ? Как его получить ?



#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

Есть следующий код:

@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...



#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



#106781 Как открить новую вкладку?

Отправлено автор: Breetonia 15 июня 2012 - 17:34 в Автоматизированное тестирование

Хе,нашел вырезку из оффишэл доков)):

Скрытый текст


<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 движка через сиесту)).Примеры если и есть,но достаточно громоздкие.Это наводит на мысль,что автоматизировать тестирование интерфейса нахрен не нужно...В итоге,что делать,я не знаю.



#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...?

Вот,пример:

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()
.
Если уж это скриптовый язык,то, по моим представлениям,многое должно быть упрощено.