Об автоматических тестах писал ещё Сам Кент Бек. Ну, а автоматические функциональные тесты — это вообще лакомый кусок для современных agile методик разработки ПО. Вместе с участниками кемпа мы узнаем, с какой стороны подходить к процессу автоматизации тестирования в целом. Кроме того, мы создадим проект автотестирования с использованием одного из самых популярных продуктов для тестирования веб-приложений — Selenium 2.
Готов ли JUnit 5 к использованию в production? Как на него перевести большой проект и сделать тесты лаконичнее? В своем докладе я выскажу свои мысли о концепциях, заложенных в JUnit 5 и поделюсь нашим успешным опытом миграции на новую платформу
Многие из нас слышали, что при создании тестовых систем необходимо понимать из каких слоев они должны состоять. Но начинающим специалистам очень сложно четко понять за чем эти слои нужны и какие функции они выполняют. В своем докладе я хотел бы внести ясность по данному вопросу и ответить на все все вопросы.
Готов ли JUnit 5 к использованию в production? Как на него перевести большой проект и сделать тесты лаконичнее? В своем докладе я выскажу свои мысли о концепциях, заложенных в JUnit 5 и поделюсь нашим успешным опытом миграции на новую платформу
Многие из нас слышали, что при создании тестовых систем необходимо понимать из каких слоев они должны состоять. Но начинающим специалистам очень сложно четко понять за чем эти слои нужны и какие функции они выполняют. В своем докладе я хотел бы внести ясность по данному вопросу и ответить на все все вопросы.
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
QA Fes 2016. Алексей Виноградов. Page Objects: лучше проще, да лучшeQAFest
Page Objects, вероятно, самый известный на сегодня паттерн, используемый в автоматизации через UI. И самый простой, скажете вы? Не соглашусь, по моим наблюдением применение данного паттерна таит в себе подводные камни даже для наиболее типичных веб-приложений.
В данном докладе я познакомлю вас с тремя простыми и практичными видами PageObject архитектуры - Static, Void и Fluent, продемонстрирую использование кодом, сравню плюсы и минусы подходов. Также я расскажу о важных недостатках Yandex HTMLElements и о некоторых других неудачных подходах, которые повторяются из одного самодельного фреймворка в другой. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java/Selenide легко переносимы и на другие языки программирования (.NET, Python и другие).
Получасовая презентация по Java 9. Конечно, рассказать можно много больше, да и часть выводов прозизносил вслух, но в любом случае, если интересна Java 9, то изучение можно начать со ссылок в конце презентации.
Критика, предложения приветствуются.
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
Вот уже более двух лет мы создаём онлайн-специализацию по С++ на платформе Coursera. Её цель — обучить языку C++ с нуля до уровня, достаточного для решения практических задач, с которыми приходилось сталкиваться авторам в своей практике. В своём докладе я расскажу, как мы создаём наши онлайн-курсы, и уделю особое внимание техническим проблемам, которые нам пришлось решить в процессе создания автоматической системы проверки программ студентов.
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 днейSkillFactory
Дмитрий Андрушко, инструктор Академии Oracle по Java-технологиям – о том, как подготовиться к первой ступени в непростой системе сертификации Oracle (Oracle Certified Associate, Java SE 7 Programmer), стать успешным Java-разработчиком и работать в крупнейших банках и корпорациях, если вы только начинаете знакомство с этим языком программирования.
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
Kateryna presented her ideas on how to organize testing process in Scrum teams, what is Agile testing itself, 10 principles of agile testing, team organization for better performance and key success factors
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
QA Fes 2016. Алексей Виноградов. Page Objects: лучше проще, да лучшeQAFest
Page Objects, вероятно, самый известный на сегодня паттерн, используемый в автоматизации через UI. И самый простой, скажете вы? Не соглашусь, по моим наблюдением применение данного паттерна таит в себе подводные камни даже для наиболее типичных веб-приложений.
В данном докладе я познакомлю вас с тремя простыми и практичными видами PageObject архитектуры - Static, Void и Fluent, продемонстрирую использование кодом, сравню плюсы и минусы подходов. Также я расскажу о важных недостатках Yandex HTMLElements и о некоторых других неудачных подходах, которые повторяются из одного самодельного фреймворка в другой. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java/Selenide легко переносимы и на другие языки программирования (.NET, Python и другие).
Получасовая презентация по Java 9. Конечно, рассказать можно много больше, да и часть выводов прозизносил вслух, но в любом случае, если интересна Java 9, то изучение можно начать со ссылок в конце презентации.
Критика, предложения приветствуются.
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
Вот уже более двух лет мы создаём онлайн-специализацию по С++ на платформе Coursera. Её цель — обучить языку C++ с нуля до уровня, достаточного для решения практических задач, с которыми приходилось сталкиваться авторам в своей практике. В своём докладе я расскажу, как мы создаём наши онлайн-курсы, и уделю особое внимание техническим проблемам, которые нам пришлось решить в процессе создания автоматической системы проверки программ студентов.
Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 днейSkillFactory
Дмитрий Андрушко, инструктор Академии Oracle по Java-технологиям – о том, как подготовиться к первой ступени в непростой системе сертификации Oracle (Oracle Certified Associate, Java SE 7 Programmer), стать успешным Java-разработчиком и работать в крупнейших банках и корпорациях, если вы только начинаете знакомство с этим языком программирования.
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
Kateryna presented her ideas on how to organize testing process in Scrum teams, what is Agile testing itself, 10 principles of agile testing, team organization for better performance and key success factors
Презентация на комплексную тему Continious integration-Automated Testing-Agile, показывается связи между этими темам, обоснование автоматического тестирования , и вложения ресурсов для развертывания автоматического тестирования и непрерываной интеграциия. Все темы тесно связаны между собой , хотя бы появились независимос друг от друга.
Мир мобильных телефонов очень сильно изменил нашу жизнь. В наше время невозможно представить современного человека, без этого чудо устройства. На рынке появляется все больше устройств и приложений. И чтобы удобнее пользоваться этими приложениями пользователи выбирают “умные” телефоны, или как их еще принято называть смартфоны. В своем докладе я хочу поделиться своим опытом автоматизации приложений под Android и iOS. Я расскажу о том, какие инструменты автоматизации я использовал. Поговорим о недостатках этих инструментов и какие из них стоит использовать у себя на проекте.
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
Выступление Андрея Сильчука об автоматическом тестировании ПО на Hub QA meetup #1.
Больше мероприятий:
https://vk.com/hub.itschool
https://facebook.com/Hub.IT.School
Автоматическое тестирование и с чем его едятMarina Peregud
Agenda
Автоматизация? Какая еще автоматизация? Автоматическое тестирование ПО. Зачем вообще?
Отличие от мануального тестирования ПО, или Ручник vs человек разумный.
Имею желание, но не имею возможности, или какие знания были бы полезны в этой области.
Когда стоит внедрять автоматизацию.
ROI и другие непонятные слова на три буквы.
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
Дмитрий Лукьяненко, QA Automation рассматривает:
- Selenium IDE;
- Selenium WebDriver;
- Page Obgect Pattern;
- Page Factory Pattern;
- локаторы;
- как построить фреймворк и куда его можно дальше развивать.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium - это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML и многих других
Традиционно многие компании не инвестируют много в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций продукта на стороне заказчика
- вопросы тестирования нескольких версий (бренчей) одного и того же продукта
- повторн
Построение собственного JS SDK — зачем и как?buranLcme
Многие разработчики любят делать свои велосипеды, но не все задумываются зачем. Мы расскажем о том, зачем вам может понадобится собственный JavaScript SDK и полезно ли кататься на велосипедах.
Мы делали собственный JS SDK для того, чтобы дать возможность создания плагинов в рамках большой enterprise системы - <b>Parallels Automation</b> и <b>Plesk Panel</b>. Сам SDK является частью общего стандарта <b>APS</b>, который является шиной, объединяющей все наши продукты по автоматизации. Обе панели брендируются и мы должны были сохранить брендинг при уже существующей кодовой базе верстки и существующих правилах оформления. И главное - надо было дать возможность создания UI сторонним девелоперам, которые могут иметь абсолютно разный уровень - от пришедших бекэндеров до профессиональных js-разработчиков.
Great functional testing with WebDriver and ThucydidesMikalai Alimenkou
Presentation from online conference ConfeT&QA (October 2012) and Selenium Camp 2013 (February 2013) about techniques and approaches to create great functional automated tests.
Presentation from 11th SQADays conference in Kiev (April 2012) and Selenium Camp 2013 (February 2013) about how to measure what functional tests are really testing from requirements, code and UI perspective.
Agile Testing in Enterprise: Way to transform - SQA Days 2014Andrey Rebrov
This document discusses problems that can occur with traditional testing approaches and how to transition to agile testing practices. It provides two examples of organizations that struggled with long regression cycles, missed estimates, low quality and stress. The root causes are identified as document-based collaboration, lack of testing knowledge by developers, and infrastructure management chaos. Recommendations are made to use Kanban, collaborate on requirements, implement smart metrics, test automation, and a DevOps approach. Specific practices that were implemented include risk management, specification by example, test-driven development, continuous integration, configuration automation, and test automation. The results were increased delivery rates up to 5 times, zero bugs in production, no overtime, and more enjoyable work.
Spec By Example or How to teach people talk to each otherAndrey Rebrov
This document introduces an approach called "Spec By Example" to improve communication between developers, QA analysts, and clients. It involves impact mapping to focus on user stories, QA and analyst pairing to create examples to describe requirements, and diverse and merge sessions for the team to collaboratively build out examples. The examples are then optimized by compressing tables and introducing parameters before being linked to automated tests through a behavior driven development approach. This unified process allows requirements, test cases, and code to have a single source of truth, makes it easy to trace work back to business needs, and improves estimation, demos, and reduces rework and issues.
This document discusses test automation challenges at an investment bank and lessons learned. It outlines problems with lengthy manual regression testing. An attempt was made to use Jameleon for test automation but it caused issues. They identified needs for metrics, definitions of done, and separating test connections. Recommendations include using tools like Selenium and SoapUI with a Jenkins/JIRA setup. While quick wins are possible, separating test connections and fully defining requirements are important for successful test automation.
How engineering practices help businessAndrey Rebrov
This document provides advice on how to introduce new engineering practices and technologies to a team or business. It discusses several examples of proposed new practices and technologies such as test automation, continuous integration, refactoring, and DevOps. For each, it advises how to demonstrate the benefits through examples and metrics, how to gain buy-in from various stakeholders, and pitfalls to avoid such as claiming a practice is necessary just because a famous person recommends it. The overall message is that new practices must provide clear value and be introduced through demonstration and collaboration rather than dictates.
This document discusses using Logstash to collect, parse, and store logs from multiple sources in Elasticsearch. It describes Logstash's three main components - inputs, filters, and outputs. Examples are provided for using Logstash with Lumberjack to ship logs, parsing logs with grok filters, and outputting to Elasticsearch. Instructions are included for installing, configuring, and running Logstash, Elasticsearch, Kibana, and Lumberjack to build a log management pipeline.
This document discusses various DevOps tools and techniques including continuous integration, monitoring, logging, infrastructure as code, and visualization. For each tool or technique, it provides examples of how they can help teams as well as potential downsides related to communication issues. The key message is that while tools are useful, overreliance on tools without proper communication between team members can cause problems and that face-to-face conversations are important for addressing issues and improving processes.
The document discusses using business games to teach and promote Agile principles and practices. It defines what a business game is and notes they focus on results rather than process and involve more participant engagement than formal processes. The document outlines different types of business games for innovation, requirements analysis, and explaining Agile concepts. It provides recommendations for facilitating the games, such as not highlighting solutions and following the rules, and ideas for introducing Agile through a presentation and game with a success story. Resources for finding and creating additional business games are also included.
2. Ребров Андрей
• ScrumTrek
• Тренер инженерного
направления
• Luxoft
• Разработчик
• Scrum Master
3. Зачем заниматься автотестами?
• Ручное тестирование отнимает много времени
• Ручное тестирование приводит к ошибкам
• Автоматизация позволяет делать основную работу лучше
• Автоматизированное регрессионное тестирование служит «ремнем
безопасности»
• Автоматизированные тесты дают возможность получать результаты
раньше
• Тесты – это отличное подспорье при разработке как пример
• Тесты являются документацией
• Автоматизация может дать хорошее ROI
4. Проблемы автоматизации
• Взаимоотношения с программистами
• “Hump of Pain”
• Начальный вклад
• Код, который всегда меняется
• «Код по наследству» (Legacy)
• Страх
• Старые привычки
17. Что стоит автоматизировать
• Continuous Integration, Builds и Deployment
• API или Web Service Testing
• Тесты «до» GUI
• Тестрование GUI
• Load Tests
• Сравниение
• Повторяющие задачи
• Генерация данных и настройка
18. Что не нужно автоматизировать
• Тестирование usability
• Исследовательское тестирование
(Exploratory Testing)
• Тесты, которые никогда не упадут
• Одноразовые тесты
20. Внедрение автоматизации
тестирования
• Внедрение невозможно при отсутствии
процесса тестирования
• Надо учесть затраты и выгоды (ROI)
• Выбрать инструмент для автоматизации
• Что должно быть автоматизировано (ROI)
• Определить правила и гайдлайны
22. Как выбирать инструменты
• Позволяют начать писать тесты сразу же
• Позволяют отделить логику тестов от реализации
• Позволяют и подталкивают к использованию известных
практик разработки
• Позволяют использовать существующие языки
программирования и IDE
• Имеют активное сообщество
23. Принципы
• Keep It Simple (“KISS”)
• Чаще запускать ради того, чтобы чаще иметь результат
• Вовлечена вся команда
• Нужно время, чтобы сделать правиль
• Больше практики, меньше теоретики
24. Принципы при написании кода
• Работа в паре
• Рефакторинг
• Простой дизайн
• Модульность
• ООП
• Независимость
26. Selenium WebDriver
Общая суть работы с WebDriver может быть описана
так:
• реализуется код, использующий какую-либо
имплементацию WebDriver. Данный код выполняет
какие-либо действия с веб-страницей и сравнивает
результат с эталонным:
• WebDriver транслирует команды в запущенный
браузер (при использовании «браузерной»
реализации) и сообщает результаты «обратно в
код»
29. WebDriver - Навигация
За навигацию отвечает класс Navigate.
• void GoToUrl(string url) – перейти по указанному адресу.
Пример: driver.Navigate().GoToUrl("some_url");
• void Back() - вернуться на предыдущую страницу.
Пример: driver.Navigate().Back();
• void Forward() - перейти на следующую страницу.
Пример: driver.Navigate().Forward();
• void Refresh() - обновить страницу.
Пример: driver.Navigate().Refresh().
30. Работа с окошками
• void Close() - закрыть текущее окно. Закрывает браузер, если нету
больше открытых окон;
• void Dispose() - Member of System.IDisposable. С помощью данного
метода можно удалять, освобождать или сбрасывать
неуправляемые ресурсы;
• Manage() - позволяет изменять настройки драйвера;
• void Quit() выход из драйвера, закрытие всех окон связанных с ним;
31. Работа с WebElement
• WebElement – представление HTML-элемента (тега)
вместе с его содержимым
• Действия:
– void click() – клик по элементу
– void submit() – отправка формы
– String getValue() – получение значения элемента
– void sendKeys(keysToSend) – ввод текста в input-элемент
– void clear() – очистка input-элемента
– String getElementName() – получение name элемента
– String getAttribute(java.lang.String name) – получение
значения атрибута
– boolean toggle() – клик по чекбоксу
32. Работа с WebElement
• WebElement – представление HTML-элемента (тега) вместе с его
содержимым
Действия над элементами страницы:
• void Click() - одиночное нажатие по элементу;
• string GetAttribute(string attributeName) - возвращает значения атрибута;
• string GetCssValue(string propertyName) - возвращает значение свойства
CSS элемента;
• void SendKeys(string text) - ввод текста в текстовые поля. При работе с
текстовыми полями можно использовать функциональные клавиши, их
работу обеспечивает класс Keys. Например: element.SendKeys("sds" +
Keys.Up);
• void Submit() - отправка формы на сервер;
33. WebDriver
Действия над элементами страницы:
• bool Displayed { get; } - возвращает значение, которое указывает на
то, является ли элемент невидимым;
• bool Enabled { get; } - возвращает значение, которое указывает на
то, является ли элемент видимым;
• System.Drawing.Point Location { get; } - возвращает координаты
элемента;
• bool Selected { get; } - возвращает значение, является ли данный
элемент (checkboxes, radio buttons) выбранным;
• string TagName { get; } - возвращает имя тега элемента;
• string Text { get; } - возвращает innerText элемента (без пробелов);
• System.Drawing.Size Size { get; } - вовращает размеры элемента;
• void Clear() - очистка содержимого текстового элемента.
34. WebDriver
Выпадающие списки. Элементы множественного выбора.
В WebDriver есть специальный класс SelectElement, который
предназначен для упрощения работы с HTML select элементами. Для
того, чтобы воспользоваться всеми прелестями данного класса нужно
подключить пространство имен OpenQA.Selenium.Support.UI. Данный
класс сожержит следующие методы:
• public void DeselectAll() - очистить все записи. Использовать только
для элементов множественного выбора (multiple selections);
• public void DeselectByIndex(int index) - деактивировать
опцию, используя индекс элемента;
• public void DeselectByText(string text) - деактивировать
опцию, используя видимый текст элемента;
• public void DeselectByValue(string value) - деактивировать опцию, по
значению элемента;
35. WebDriver
• public void SelectByIndex(int index) - активировать опцию, используя
индекс элемента;
• public void SelectByText(string text) - активировать опцию, используя
видимый текст элемента;
• public void SelectByValue(string value) - активировать опцию, по
значению элемента;
• public System.Collections.Generic.IList AllSelectedOptions { get; } -
возвращает все выбранные опции в пределах текущего элемента;
• public bool IsMultiple { get; } - возвращает значения, является ли
данный элемент множественного выбора;
• public System.Collections.Generic.IList Options { get; } - возвращает
список опций для выбранного элемента;
• public OpenQA.Selenium.IWebElement SelectedOption { get;} -
возвращает значение текущего элемента.
36. WebDriver
IWebElement element = driver.FindElement(By.Id("submit"));
SelectElement select = new
SelectElement(driver.FindElement(By.XPath("//select")));
select.DeselectAll();
select.SelectByIndex(1);
select.SelectByText("TestText");
select.SelectByValue("Value2");
element.submit();
37. Еще возможности
• Можно работать с куками
• Можно использовать профили для Firefox
• Можно выполнять JS на страницах
• Поддержка HTML5
• И многое другое
38. Задание
• Пишем тест только с WebDriver
• Рефакторим тест - выделяем
класс PageObject, описывающий страницу с
которой работали
• Рефакторим тест - выделяем хардкод данные в
отдельные DataProvider`ы
• Добавляем в тест работу с базой данной.
чтобы из нее брались данные которые
пригодятся в тестах (опционально)
• Пишем следующий тест cразу по правилам
39. Полезные статьи – Автоматизация
• Test Automation Pyramid http://goo.gl/MPjLD
• Continuous Testing: Building Quality into Your Projects
http://goo.gl/LFQGR
• Tester Developers, Developer Testers http://goo.gl/KvcYF
• How to Catch Up on Test Automation http://goo.gl/dJRQg
40. Полезные статьи – Selenium WebDriver
Статьи
• Debugging Tips for Selenium Test Failures
• Автоматизация тестирования HTML5-приложений на Ruby c
помощью Selenium WebDriver
• Functional Testing with Selenium WebDriver and Scala
• Selenium Two Tutorial using C#/NUnit and
InternetExplorerDriver
• A guide to using the python bindings for Selenium/Webdriver