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

Публикации Breetonia

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



#107400 Проверка наличия у элемента определенного свойства

Отправлено автор: Breetonia 08 июля 2012 - 18:59 в Selenium - Functional Testing

public boolean isTrue()
  {
      WebDriver driver = new FirefoxDriver(); // в данном примере заюзан ферфокс. соответственно можно написать все, что вам вздумается (в разумных пределах :))
      String atr;
      atr = driver.findElement(By.xpath("//td[7]")).getAttribute("class"); //локатор td[7] необходимо еще привязать к кому-нить корневому элементу, иначе данная функция будет искать все и брать первый попавшийся "седьмой" td
      if(atr == "valid today")
          return true;
      else 
          return false;

  }

Надеюсь,это не рабочий пример,иначе этих твоих isTrue в проекте будет миллион )
И зачем драйвер-то стартовать,когда можно ссылку на него передать ?
Не будешь же ты в каждой функции вызывать фаирфокс,а если и будешь,то придется закрывать каждый раз,а это лишнее время и ресы.

public boolean isTrue(WebDriver driver)



#107399 Проверка наличия у элемента определенного свойства

Отправлено автор: Breetonia 08 июля 2012 - 18:54 в Selenium - Functional Testing

Подскажите, пожалуйста, как можно проверить, что элемент 7 имеет свойство class="valid today".

Элементарно:
assertTrue(driver.findElement(By.xpath("//td[@class='valid today']")));



#107390 Security Testing: с чего начать

Отправлено автор: Breetonia 06 июля 2012 - 21:32 в Тестирование защищенности

Хах,а если речь идет о фреймворке+extjs? это уже взлом фреймворка выходит )



#107387 Java - как выбрать дату в календаре

Отправлено автор: Breetonia 06 июля 2012 - 18:40 в Автоматизированное тестирование

Локаторы можно проверить во вкладке FirePath,которую выдаёт плагин FirePath при установке его в Firefox перед тем,как их использовать в selenium-е.



#107386 Ищу багтрекер

Отправлено автор: Breetonia 06 июля 2012 - 18:36 в Свободное общение

Зачем усложнять ? Просто запретите доступ тестировщикам хД.
Мы пользуемся Redmine и пока довольны : )



#107367 Поиск элементов по области

Отправлено автор: Breetonia 05 июля 2012 - 19:25 в Selenium - Functional Testing

Дак а зачем это нужно,если пользователь их не видит ? Лично мне непонятно,с какой целью автор собрался это делать.
Как вижу,не я один )).



#107264 Поиск элементов по области

Отправлено автор: Breetonia 02 июля 2012 - 17:16 в Selenium - Functional Testing

Чтобы сделать элементы доступными,т.е. видимыми,нужно понять,как они скрыты,а это обычно либо visibility:hidden в атрибуте style,либо
атрибут type со значением "hidden".
Для этого в Selenium есть класс JavaExecutor
Тебе же нужно либо сменить visibility:hidden на visibility:visible,либо сменить type="hidden" на подходящий : )

Ссылка на класс: http://selenium.goog...ptExecutor.html
Примеры тут: http://seleniumhq.or..._webdriver.html

Сам по нему делал : )



#107262 Поиск элементов по области

Отправлено автор: Breetonia 02 июля 2012 - 15:39 в Selenium - Functional Testing

А причем тут селениум ? Юзеру это никогда не понадобится : )



#107257 Мотивация нового сотрудника

Отправлено автор: Breetonia 02 июля 2012 - 13:37 в Про тестирование обо всём подряд

Эм,а что именно за проект у вас ? Вэб или какое-то ПО на компилируемых языках ?



#107245 Задержка после выполнения каждой команды

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

Спасибо вам большое за помощь! Обязательно попробую.



#107236 Задержка после выполнения каждой команды

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

Баранцев сказал,что он не потокобезопасный....значит,есть возможность слета теста по иксепшну.
Спасибо за метод :aggressive:д,а как насчет этого ?

http://selenium.goog...ui/Sleeper.html

Не догнал,для чего оно и как использовать.
Всё-таки интересует возможность типо setSpeed(),но только для драйвера...



#107235 Исходный код

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

Сдаётся мне,что DOM у тебя динамически изменяется,подставляя переменные из шаблона ( x{2} и прочие).
Думаю,что тебе нужно ждать изменения состояния аттрибута title (он же появляется таки) и выдрать изменившиеся данные.
Для этого нужно использовать WebDiverWait,чтобы словить новое состояние элемента,но практически реализовать не могу,ибо не сталкивался с таким.



#107205 Задержка после выполнения каждой команды

Отправлено автор: Breetonia 29 июня 2012 - 08:03 в Selenium - Functional Testing

в WebDriver Actions нет такого метода - только в селениум 1.0.



#107179 Задержка после выполнения каждой команды

Отправлено автор: Breetonia 28 июня 2012 - 08:50 в Selenium - Functional Testing

Как можно быстро в селениуме сделать задержку между выполнениями последовательных команд,кроме фаиндЭлемент ?
Пока использую только Thread.sleep(1000);.Говорят,что он бажный,но лучше средства не нашел.Посоветуйте,пожалуйста,какой метод использовать
или поделитесь своими наработками ))).



#107178 Как работать с Ajax элементами ?

Отправлено автор: Breetonia 28 июня 2012 - 08:47 в Selenium - Functional Testing

Бред какой-то.Вчера этот метод не работал вообще,т.е. выдавал всякую лажу(иксепшны),а сегодня - работает через гетаттрибут(валуе) ).



#107177 Как работать с Ajax элементами ?

Отправлено автор: Breetonia 28 июня 2012 - 08:39 в Selenium - Functional Testing

Так,спросил:

Форма создана по принципу формы,выложенной на сайте http://examples.extjs.eu/
http://pastebin.com/7S3ezHRX - Скопировал с сайта



#107176 Как работать с Ajax элементами ?

Отправлено автор: Breetonia 28 июня 2012 - 08:35 в Selenium - Functional Testing

На работе запретили раздавать код,поэтому могу только сказать,что данные отсылаются PHP скрипту и возвращаются в JSON формате(данные тестируемой формы - имена полей и значения).
Увы...Попробую спросить,как работает.

ЗЫ: Проверял фаирбагом : )



#107165 Как работать с Ajax элементами ?

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

Фаирбаг не видит значение аякс элементов.getAttribute("value) и getText() возвращают совершенно не то,что нужно(либо текст по дефолту,либо empty).Что делать ? Компонент вроде Ext.formPanel,визуально данные видны в полях(визуально компонент напоминает форму).



#107164 Достать значение javascript переменной

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

Тема больше неактуальна : (



#107163 Исходный код

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

Вообще,первое предложение смахивает на тафтологию - селениум 2.0,селениум рс2,вебдрайвер - одно и то же.На кой черт придумывать столько названий для одного продукта(в определенной его стадии развития) ? Ведь и там,и там всё включено,разве нет ?!



#107162 Исходный код

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

Баранцев в своем втором(по счету) видеоуроке говорил,что возможность видеть скрытые элементы убрали(она была в RC1)из WebDriver потому,что пользователю это нафиг не нужно.
По поводу исходников - смотрите фаирбагом.Если уж и там не показывает,то,вероятно,данные возвращаются аяксом,например,в JSONе(что необязательно),как у меня : ) - такое фаирбаг не умеет без рефреша(опять-таки,рефреша в хтмл вкладке фаирбага нету : ( ).



#107161 JavascriptExecutor всегда возвращает null

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

проблема решена ((JavascriptExecutor)getWebDriver()).executeScript("return 1").toString();


return тут не обязателен,хотя и так работает : ).Во всяком случае,у меня.
Точно также пытался позавчера сделать,в итоге отбросил вариант с экзекутором за ненадобностью.



#107160 css selectors #id

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

Интересно,сколько времени вы убили на построение подобных селекторов : ).Проще было ид проставить.



#107157 ExtJS генерирует пробелыв классах ?!

Отправлено автор: Breetonia 27 июня 2012 - 11:58 в Свободное общение

Столнулся с такой *фичей*,по подозрению,экста - просматривая в фаирбаге код,наткнулся на элементы с пробелами в классах.
Предъявил претензии разработчиам,те показали,что их js скрипты и extjs скрипты абсолютно чисты,да и последние не позволяют очищать пробелы.Стрелки перевели на extJS.
Теперь хочу обратиться к вам - так ли это на самом деле ? В проекте будут теперь задавать айдишки почти каждому элементу : ).
Проблему выявил при составлении xPath запросов в FirePath.FirePath ввел меня в ступор ещё и тем,что стал выдавать странные результаты - при неоднократном нажатии на Enter
FirePath выдавал различные результат - то находил элемент,то нет,удаляя пробелы из xPath селектора о_О - и не важно,что ты передаешьв селеторе пробел,или не передаешь - если в коде содержатся атрибуты с пробелом(хоть одним),то он будет себя вести так,как описано выше.В общем,крайне раздражает такое поведение Firepath.
Как решить проблему ?



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

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

Спасибо вам,ребят : )).Я уже решил проблему(надеюсь,что верно) альтернативным способом - Сравнил таитлы логин пейдж и индекс пейдж(страница после успешной авторизации) и всё заработало ).
Единственная проблема,которая остается - как адекватно выставить имплицитные ожидания(поставил 10 секунд),т.е. каждый элемент будт искаться в течение 10 секунд,а что если сервер будет перегружен и ответить только через 30 секунд ?
Вешать блок try/catch,перехватывающий ConnectionError иксепшн(или ему сопутствующий) на каждый тестовый метод ? Кстати,где можно глянуть список именно иксепшнов,чтобы гугл не долбить ? ))