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

Публикации LeshaL

81 публикаций создано LeshaL (учитываются публикации только с 29 марта 2023)



#103982 поддержка SVG

Отправлено автор: LeshaL 11 апреля 2012 - 12:07 в Selenium - Functional Testing

старшие братья, подскажите, пожалуйста, как научить selenium видеть svg элементы?

А скорее всего никак (т.е. по координатам). SVG элементы не является частью DOM модели и все это SVG по идее не отличается от встроенного java applet-a или flash-a.



#103868 Java Beep

Отправлено автор: LeshaL 10 апреля 2012 - 11:50 в Selenium - Functional Testing

Подскажите пожалуйста аналог сигнала через динамики в JAVA.

java.awt.Toolkit tk = Toolkit.getDefaultToolkit();
tk.beep();
<---- вот это издает слишком тихий и неприметный звук. хотелось бы чтото по типа beep bp C#...

Если консольное приложение, то пищит так
System.out.print("AAA");
System.out.print("\7"); //Вот это вот издает звук
System.out.println("BBB");
В IDE (Eclipse) - не пищит, в виндовой консоли - пищит.



#103713 WebDriver Using (Samples)

Отправлено автор: LeshaL 08 апреля 2012 - 10:07 в Selenium - Functional Testing

Ах да, наверняка для WebDriver для джавы есть специальные фреймворки. Я их, к сожалению, не знаю. Это одна из моих целей поездки в Киев на конференцию SQA Days - узнать, чем подобным люди пользуются. Я сам хотел написать какой-нибудь такой фреймворк, но на тот момент работа моя над селениумными тестами закончилась. Надеюсь в будущем реализовать эту идею.



#103712 WebDriver Using (Samples)

Отправлено автор: LeshaL 08 апреля 2012 - 10:03 в Selenium - Functional Testing

В своем комментарии я признал, что отчасти напрасно критиковал доукментацию на Selenium 2.
Полагаю все же, что уделить внимание именно ПОСТРОЕНИЮ ТЕСТОВ можно было бы, хотя бы и не в основной части.

Еще раз повторю, Селениум не вправе диктовать то, как автор тестов их будет организовывать. Способов очень много и я считаю, что это очень хорошо, что они не захламляют официальную документацию. Вот, кстати, вчера в твитленте обнаружил "Selenium is a BROWSER automation tool. For every-fucking-thing else please ask some-fucking-where else other than a Selenium user group." (отсюда: https://twitter.com/#!/FuckingSeTips)

Не порекомендуете какой-либо связный материал по построению тестов на WebDriver + Java?
...
Видимо, это в определенной степени востребовано,
но для новичков или начинающих, к коим я себя отношу, полезны были бы материалы начального уровня,
к-рые можно было бы изучить off-line, сравнить методики, выбрать более приемлемые и понятные, а не закладываться
на суждения и опыт "драйвера" данного сайта.

Скорее всего не посоветую ибо просто не знаю что можно посоветовать. Ищите в блогах на английском. Книгу по xUnit, которую Алексей предложил я (совершенно независимо) вчера скачал с корпоративной библиотеки и собираюсь читать сам). Какие-то сравнения фреймфорков организации тестов скорее всего можно найти в инете, никогда не искал. Нашел вот список, например http://java-source.n...e/testing-tools, но они тут все из разной оперы. Читайте, выбирайте тот, который подходит и используйте для организации своих тестов.
Что касается Junit, то JUnit4 мне не понравился и я бы посоветовал использовать JUnit3. Он проще сам и его при желании проще модифицировать. Или посмотрите в сторону TestNG, говорят он получше. По крайней мере его авторы не поленились написать документацию.



#103694 WebDriver Using (Samples)

Отправлено автор: LeshaL 07 апреля 2012 - 05:35 в Selenium - Functional Testing

Все понял, но осталось нек-рая неудовлетворенность документацией на Selenuim,
к-рая умалчивает о проверках и "игнорирует" JUnit.
Правда, там еще есть полезный раздел 7, но и он неполон.
Хотя, и это объяснимо: документация описывает ср-ва WebDriver, а построение тестов - шире и
предполагает применение JUnit или подобного инструмента в случае использования Java,
или дополнительного кода (или пакетов) для python, ruby и пр.
Впрочем, всегда можно обойтись и базовыми ср-вами языка.

Судя по вашему комментарию, все-таки не все поняли. Ожидать от документации селениума описания того как работает junit не стоит. Это все-равно, что ожидать увидеть в документации к дрели, которая делает дырки, описание того как правильно пользоваться лазерным уровнем для верного определения места где эти дырки быть должны.
Например. Недавно одни и те же тесты для сравнения я реализовал на связке selenium + ruby + одна из технологий (просто руби без дополнений, Test::Unit, Cucmber, FitNesse и RSpec). И еще rake пускалку приделал. Спрашивается какая технология должна какую описывать в своей документации?

И построение селениум тестов на java вовсе не предполагает использование junit. Только автор тестов знает что он будет использовать, авторы селениума не знают и не хотят гадать или заставлять. Selenium WD - это, по большому счету, только лишь автоматическая генерилка пользовательских событий (клик мышки, нажатие на кнопку клавиатуры, переход на страничку) в браузере. И все.

Вы можете использовать селениум вовсе не для тестирования, а для отсылки спама или для написания автоматических коментов в этот форум.



#103693 Приблизительная оценка времени, отведенного на тестирование

Отправлено автор: LeshaL 07 апреля 2012 - 05:07 в Начинающему тестировщику

...
На ручное тестирование времени примерно надо в два раза меньше чем на реализацию этой фичи.

Леша, интересный подход. Надо бы посмотреть реально ли так. Хотя мне почему-то кажется, что реализация все-таки больше в % соотношении должна занимать (даже без учета багфиксов).

Автору топика.
На абстрактную фичу на тестирование затратится абстрактное время. Никакого более конкретного ответа дать нельзя. Могу дать совет, когда оцениваете время, прибавляйте время на написание багов, отчетов и верификацию быстро починенных дефектов. Это отнимает значительное время. Если не написана тестовая документация - то время на планирование тестирования тоже прибавляйте.
Если у вас есть готовый чеклист или набор тесткейзов, то оценить время будет проще.

А вообще прав Майкл Болтон. Он говорит, что суммарное время на тестирование оценить очень просто. Например, если сегодня 7 апреля, а релиз назначен на 21 апреля, то у вас есть ровно 2 недели на тестирование. Все.
И вы не должны приходить и говорить начальству, что я за 2 недели не успею, мне нужно 4 по моим подсчетам. А вы должны сказать, по моим подсчетам нужно 4 недели, за 2 недели мы протестируем это и это, а то и се только поверхностно. При этом есть такие-то риски. Устраивает? И пусть начальство дальше думает.



#103692 На правильном ли я пути?

Отправлено автор: LeshaL 07 апреля 2012 - 04:52 в Начинающему тестировщику

А какие конкретно у вас затруднения с баг-трекером?
На последней конференции я кое-что рассказывал по этой теме.
http://www.slideshar...haL/ss-10392275

Посмотрите, может найдете там ответы. Если нет - пишите сюда, или в отдельную ветку, постараюсь ответить. Или вообще лучше в личку пишите, т.к. я на форум последнее время захожу раз в неделю где-то.



#103691 На правильном ли я пути?

Отправлено автор: LeshaL 07 апреля 2012 - 04:45 в Начинающему тестировщику

Как совет могу сказать, что ваши кейсы должны быть в таком виде, чтоб любой человек смог разобраться,в вашем же случае я что-то совсем мало что понял.

Плохой совет. Любой человек не придет и не начнет тестировать, а времени на написание такого рода тестовых описаний уйдет много и будут они еще скорее всего трудно-пререписываемы и быстро-устареваемы.
Писать тестовые описания, на мой взгляд, надо так, чтобы они были максимально понятны участникам процесса. При этом желательно, чтобы это не отнимало много времени (ведь тестировать важнее, чем писать описания) и чтобы были устойчивы к незначительным изменениям.



#103690 Карта функциональности

Отправлено автор: LeshaL 07 апреля 2012 - 04:35 в Начинающему тестировщику

Это тестовое задание такое, вопросы задавать некому)
Меня интересует как она вапще должна выглядеть...вот например данный сайт софтве-тестинг.ру
Должна стоять ячейка где в середине сам сайт, от него идут связывающие линии с разделами такими как портал , работа, тренинги, confet&qa ? или как...что собой она подразумевает карта функциональности то? )

Думаю, что пример того, что вам нужно, есть тут на слайде №21
http://www.slideshar...bject-webdriver
Сам таким подходом пользовался тоже. Подход рабочий и не сложный.



#103420 Selenium WebDriver & JAVA + Hudson

Отправлено автор: LeshaL 03 апреля 2012 - 10:00 в Selenium - Functional Testing

Есть тесты написанные на JAVA с использованием Selenium 2.0

Задача: Настроить запуск тестов с использованием Hudson.
Кто-нибуть может помочь?

А в чем вопрос?
Могу сразу дать подсказку - тесты работать не будут, если агент запущен как windows service, т.к. сервис пускается из под пользователя, который не имеет доступа к экрану.



#103417 Можно ли обмениваться информацией JS <-> Selenium?

Отправлено автор: LeshaL 03 апреля 2012 - 09:52 в Selenium - Functional Testing

Возник вопрос, можно ли обмениваться информацией JS <-> Selenium?
Необходимо вызвать сохранение DOM в файл из JS по определенному событию в JS.

Можно также по таймеру из Selenium изменить какие-нибудь элементы DOM (значения форм, содержимое слоев)?

Залез в API нашел такой метод executeScript
http://goo.gl/gPxfX

Возможно то, что нужно для изменения элементов DOM. Попробуйте - отпишитесь, если работает.



#103415 Можно ли обмениваться информацией JS <-> Selenium?

Отправлено автор: LeshaL 03 апреля 2012 - 09:36 в Selenium - Functional Testing

Возник вопрос, можно ли обмениваться информацией JS <-> Selenium?
Необходимо вызвать сохранение DOM в файл из JS по определенному событию в JS.

Можно также по таймеру из Selenium изменить какие-нибудь элементы DOM (значения форм, содержимое слоев)?

Если речь идет о WebDriver, то у меня не получилось сделать что-то подобное, поэтому скорее всего нет.
Единственно как я менял DOM, это используя bookmarklet-ы, но к сожалению WebDriver после этого зависал.
Продолжать изыскания я не стал ибо это было из разряда "интерсно, что если..", и не нужно для решения рабочих задач.



#102550 Начинающий тестировщик vs опытный

Отправлено автор: LeshaL 19 марта 2012 - 09:02 в Тест-дизайн и ручное тестирование

...
Опытный тестировщик находит больше багов и это нормально, но если он находит намного больше багов, как быть тогда?
Какова, по вашему мнению, нормальная разница между работой опытного и неопытного тестировщика?

И второй вопрос, если например, в требования что-то указано явно (даже додумывать не приходится), но при этом опытный тестировщик находит в этом месте баг, который пропустил неопытный тестировщик, то неопытный безнадежен?

Если человек перспективный - то учить. Узнать почему не нашел, может это только на взгляд опытного тестировщика все понятно написано. Попросить погонять тесты и посидеть рядом, пусть тестирует и рассказывает как он размышляет.



#102409 Как вам продукт от google?

Отправлено автор: LeshaL 16 марта 2012 - 12:37 в Автоматизированное тестирование

Добрый день, использовал ли кто-то из вас вот такой вот продукт: WindowTester Pro. Собственно, что бы не дублировать иноформацию приведу сразу первоисточник: https://code.google....p/windowtester/

Собственно у меня возникла проблема с автотестами для приложения на SWING, самая еще петрушка в том, что аутентификация проходит через одно наше приложение + Oracle Internet Directory. Занимался ли кто-то подобными извращением? :) Больше инетересуют подводные камни при тестировании свингового софта.

А почему вы не пользуетесь http://jemmy.java.net/ ?
Что может быть лучше, чем инструмент которым Swing и тестируют, написанный человеком, который это делает?



#102402 Какая з/п у тестировщика ?

Отправлено автор: LeshaL 16 марта 2012 - 12:12 в Свободное общение

Да и кроме главного направления тестирования в каких еще направлениях смотреть - HTML, sql, Java? Я просматривал чужие резюме и заметил, что много чего мелькает, но что подучить, не сильно отвлекаясь от основной темы ТЕСТИРОВАНИЕ?

Одним из возможных преимуществ для работодателя может быть знание предметной области.



#102400 Алексей Лянгузов: Грамотная работа с дефект-трекером

Отправлено автор: LeshaL 16 марта 2012 - 12:01 в Портал Software-Testing.Ru

Какие-то лишние артефакты попали в текст после ссылки...

...К сожалению, сделанная во время конференции запись оказалась недостаточно качественной...

В качестве уточнения: некачественным оказалась не запись, а оборудование у принимающей стороны, которое подпортило несколько выступлений в главном зале и церемонию открытия. К людям, делавшим запись претензий нет, но шумы визжащего и фонящего микрофона с записи не убрать.



#101536 "Идеальные" средства для тестировщика

Отправлено автор: LeshaL 27 февраля 2012 - 09:50 в Инструменты и технологии

Посмотрите доклад Стаса Фомина:
http://lib.custis.ru...ia-missing-link

Я не призываю к выбору именно этого инструмента, главное поймать идею с которой лично я согласен. И еще у него на слайдах упомянуто очень много подобных инструментов.



#101320 переход на WebDriver

Отправлено автор: LeshaL 20 февраля 2012 - 13:53 в Selenium - Functional Testing

Если честно, я не совсем понял как работают те методы, поэтому и написал свой :blush:

Там же написано как работает неочевидное (implicit) ожидание. Драйвер раз в 500мсек опрашивает модель и если элемент появился - возвращет его, если нет, то падает с exception по истечении времени ожидания. Поэтому, если у вас, например, 3 места - элемент А появляется через 5 сек, элемент Б через 2 сек, а элемент С есть сразу - то ставьте 5 и оно будет одинаково хорошо работать во всех трех случаях. При этом установка значения 5 надо сделать всего один раз и больше не трогать.

Единственно, если элемент Б или С не появлется вовсе, то драйвер будет ждать максимальное время.

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



#101313 Грамотная работа с дефект-трекером

Отправлено автор: LeshaL 20 февраля 2012 - 12:07 в SQA Days 10

Всем привет!

Моя презентация с конференции SQA Days 10:
http://www.slideshar...haL/ss-10392275

К сожалению звук в зале был в высшей степени отвратительный и взять его для слайдкаста было бы позором. Так что, не смотрите видео на сайте конференции, поберегите уши. Теперь есть альтернатива!



#101312 переход на WebDriver

Отправлено автор: LeshaL 20 февраля 2012 - 11:55 в Selenium - Functional Testing

Вы написали 6 строчек кода, тогда как можно написать 1 при инициализации драйвера (для implicit wait). И далее забыть об этих ожиданиях в своем тестовом коде, т.к ожидание будет включено при каждом поиске элемента.
Плюс к этому зачем писать свой метод, если уже есть готовый?



#101243 Борьба со "StaleElementReferenceException: Element is no longer at

Отправлено автор: LeshaL 17 февраля 2012 - 15:32 в Selenium - Functional Testing

Попытайтесь неявное ожидание использовать:
Long timeout = 10;
driver.manage().timeouts().implicitlyWait(timeout, TimeUnit.SECONDS);

Только надо учитывать, что такой таймаут установится для ожидания _всех_ элементов, разыскиваемых драйвером при помощи findBy. Если это подходит - то наверное нет ничего сложного для написания такого метода.

У меня есть 2 таймаута короткий и длинный. Длинный я использую только в определенных местах. А короткий - установлен по умолчанию. Т.е. после длинного ожиания я сбрасываю значение обратно в короткое ожидание, чтобы тесты быстрее падали в случае ошибки. В случае, если элемент есть сразу, то разницы нет никакой, driver делает опрос каждые 500мсек, пока не найдет или пока не вывалится по таймауту.



#100600 Уровень абстракции тестов

Отправлено автор: LeshaL 07 февраля 2012 - 05:41 в Автоматизированное тестирование


Только что обсуждали эти уровни с коллегами. Сошлись для начала на 3х (это для GUI тестирования только)
1) PreCommitTests - маленький набор, поддерживаемый в "зеленом" состоянии программистами и ими же используемый перед комитом.


Жутко интересно, как вы ограничили размер набора. Выбрали самое важное что укладывается в n минут? GUI тесты имеют свойство идти долго. Если не секрет, сколько идет этот зеленый набор?

Да никак пока не ограничили. Сейчас тесты идут порядка 3х минут ибо их не много еще. Добрая половина из них уедет в другие наборы, когда я наконец засетаплю все через хадсон. Программисты обычно не делают много комитов за день (имеется ввиду в интеграционное пространство) и пару раз запустить такой набор - не проблема, тем более, что это их инициатива изначально.



#100549 Уровень абстракции тестов

Отправлено автор: LeshaL 06 февраля 2012 - 12:53 в Автоматизированное тестирование

Походу можно новую тему открывать :) про уровни автоматизации тестирования :)

Только что обсуждали эти уровни с коллегами. Сошлись для начала на 3х (это для GUI тестирования только)
1) PreCommitTests - маленький набор, поддерживаемый в "зеленом" состоянии программистами и ими же используемый перед комитом.
2) ReqTests - набор тестов написанных по спеке, покрывающий как отдельные функциональные требования, так и описанные сценарии. Второе в будущем может трансформироваться в отдельный Acceptance Tests
3) OtherTests - тесты с разными наборами данных, негативные тесты (неописанные в спеке) и прочие тесты (например необходимые для воспроизведения дефекта и его верификации).

Если решим запускать в CI после каждого комита какие-то тесты, то вероятно появится еще поднабор, состоящий из 1 и части 2.
Понятно, что один тест может входить в несколько тестовых наборов.



#100548 Уровень абстракции тестов

Отправлено автор: LeshaL 06 февраля 2012 - 12:43 в Автоматизированное тестирование

Если вам нужно писать тесты на workflow, пишите машину, которая будет уметь генерировать workflow, а не проходить один и тот же сценарий из раза в раз.

Интересная идея, надо обдумать. Хотя она не отменяет прохождение по специфицированным (читай acceptance) сценариям. А тестирование сценариев, конечно же, не отменяет функционального тестирования.



#100502 Уровень абстракции тестов

Отправлено автор: LeshaL 06 февраля 2012 - 06:14 в Автоматизированное тестирование

№2 еще бы допилить, чтобы ассерты были только в одном тесте, ну и в идеале - один ассерт = один тест.

Зачем? Зачем я буду следовать синтетическому ограничению, которое в основном советуют люди, которые пишут книги, а не тесты?
Возможно (хотя я не верю) в "настоящих" юнит тестах такое ограничение имеет смысл. Но у меня же UI тесты имитирующие действия пользователя.

В моих тестах будет столько проверок, сколько требуется. Я буду проверять прекондишены перед запуском основного действия, например для уменьшении времени при неуспешном выполнении подготовительного действия. Более того, далее стоит задача покрывать сценарии, описанные в спеке, т.е. там сделал действие, проверил, сделал, проверил итд в одном тесте.
Или вот например:
.doLogout()
      .checkLoggedIn(false)
      .checkLoggedOut(true);
имеет две проверки после действия. Можно сделать одну, так чтобы второй метод вызывал первый и в данном случае это прокатит, но в другом случае будет сложнее не запутаться, чем вызвать несколько проверок.

Честно говоря я большой непоклонник слепого следования сомнительным "бест практисам".