QA Fes 2016. Алексей Виноградов. Page Objects: лучше проще, да лучшeQAFest
Page Objects, вероятно, самый известный на сегодня паттерн, используемый в автоматизации через UI. И самый простой, скажете вы? Не соглашусь, по моим наблюдением применение данного паттерна таит в себе подводные камни даже для наиболее типичных веб-приложений.
В данном докладе я познакомлю вас с тремя простыми и практичными видами PageObject архитектуры - Static, Void и Fluent, продемонстрирую использование кодом, сравню плюсы и минусы подходов. Также я расскажу о важных недостатках Yandex HTMLElements и о некоторых других неудачных подходах, которые повторяются из одного самодельного фреймворка в другой. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java/Selenide легко переносимы и на другие языки программирования (.NET, Python и другие).
QA Fest 2019. Андрей Солнцев. Selenide для профиQAFest
Если вы устали от примитивных "Hello World" примеров и хотите знать больше про кишки Selenide и подводные камни, приходите на этот доклад. Обсудим параллельный запуск, рулы и листенеры, трюки с помощью JavaScript и прокси и всё такое.
А ещё лучше, если вы сами предложите свою тему. Повлияй на доклад!
This talk was given at "The KISS Method and PageObjects" meetup (https://goo.gl/2DBuxj).
The talk is about KISS (Keep It Simple Stupid) principle applied to PageObjects design with a comparison to other more classic approaches.
The slides contain both Selenium Webdriver and Selenide examples.
src code for the talk: https://github.com/yashaka/talks/tree/master/kiss-pageobjects
Selenide is simple and powerful in use wrapper-library over Selenium. But what the point just of shorter lines of code? In this talk we will see how to tame your webui mustang with Selenide and put it into fence of simple BDD stories with Easyb. We also consider pros and cons of the approach and compare to available alternatives.
QA Fes 2016. Алексей Виноградов. Page Objects: лучше проще, да лучшeQAFest
Page Objects, вероятно, самый известный на сегодня паттерн, используемый в автоматизации через UI. И самый простой, скажете вы? Не соглашусь, по моим наблюдением применение данного паттерна таит в себе подводные камни даже для наиболее типичных веб-приложений.
В данном докладе я познакомлю вас с тремя простыми и практичными видами PageObject архитектуры - Static, Void и Fluent, продемонстрирую использование кодом, сравню плюсы и минусы подходов. Также я расскажу о важных недостатках Yandex HTMLElements и о некоторых других неудачных подходах, которые повторяются из одного самодельного фреймворка в другой. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java/Selenide легко переносимы и на другие языки программирования (.NET, Python и другие).
QA Fest 2019. Андрей Солнцев. Selenide для профиQAFest
Если вы устали от примитивных "Hello World" примеров и хотите знать больше про кишки Selenide и подводные камни, приходите на этот доклад. Обсудим параллельный запуск, рулы и листенеры, трюки с помощью JavaScript и прокси и всё такое.
А ещё лучше, если вы сами предложите свою тему. Повлияй на доклад!
This talk was given at "The KISS Method and PageObjects" meetup (https://goo.gl/2DBuxj).
The talk is about KISS (Keep It Simple Stupid) principle applied to PageObjects design with a comparison to other more classic approaches.
The slides contain both Selenium Webdriver and Selenide examples.
src code for the talk: https://github.com/yashaka/talks/tree/master/kiss-pageobjects
Selenide is simple and powerful in use wrapper-library over Selenium. But what the point just of shorter lines of code? In this talk we will see how to tame your webui mustang with Selenide and put it into fence of simple BDD stories with Easyb. We also consider pros and cons of the approach and compare to available alternatives.
DSL, Page Object and Selenium – a way to reliable functional testsMikalai Alimenkou
Presentation from first Selenium conference in Europe - Selenium Camp (http://seleniumcamp.com) about different test design approaches to make functional tests on Selenium more flexible, reliable and stable.
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
Spring boot is a great and relatively a new project from Spring.io. The presentation discusses about basics of spring boot to advance topics. Sample demo apps are available here : https://github.com/bhagwat/spring-boot-samples
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
This Selenium WebDriver tutorial talks about the drawbacks of Selenium RC and what was the need for Selenium WebDriver. It goes into the details of the avantages that WebDriver has over RC and how it replaced RC for automation testing. This tutorial will also tell you how WebDriver works and what are the different browser drivers you can use for testing. Watch the video to get a demonstration on how to locate various elements/ objects on the browser and how operations can be performed on those browser elements/ objects by writing Java code in Eclipse IDE.
Watch the video here: https://www.youtube.com/watch?v=ph3NJm4Z7m4
Automation Testing using Selenium WebdriverPankaj Biswas
This will help you to understand about automation testing and when to do automation on your application using selenium. How selenium works, how to find web elements and what operations we can perform on the web elements to do automation.
ZIO: Powerful and Principled Functional Programming in ScalaWiem Zine Elabidine
This is an introduction of purely functional programming type safe abstractions that provide a variety of features for building asynchronous and concurrent applications data structures built on ZIO.
You'll learn by examples about the power of functional programming to solve the hard problems of software development in a principled, without compromises.
Накануне вышла третья версия Selenide - популярного фреймворка-обертки над Selenium Webdriver для автоматизированного тестирования веб приложений на Java. В связи с этим хотелось бы поговорить про последние фичи этого инструмента, такие как автоматическое логгирование, верификация, управление браузером и другие.
DSL, Page Object and Selenium – a way to reliable functional testsMikalai Alimenkou
Presentation from first Selenium conference in Europe - Selenium Camp (http://seleniumcamp.com) about different test design approaches to make functional tests on Selenium more flexible, reliable and stable.
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
Spring boot is a great and relatively a new project from Spring.io. The presentation discusses about basics of spring boot to advance topics. Sample demo apps are available here : https://github.com/bhagwat/spring-boot-samples
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
This Selenium WebDriver tutorial talks about the drawbacks of Selenium RC and what was the need for Selenium WebDriver. It goes into the details of the avantages that WebDriver has over RC and how it replaced RC for automation testing. This tutorial will also tell you how WebDriver works and what are the different browser drivers you can use for testing. Watch the video to get a demonstration on how to locate various elements/ objects on the browser and how operations can be performed on those browser elements/ objects by writing Java code in Eclipse IDE.
Watch the video here: https://www.youtube.com/watch?v=ph3NJm4Z7m4
Automation Testing using Selenium WebdriverPankaj Biswas
This will help you to understand about automation testing and when to do automation on your application using selenium. How selenium works, how to find web elements and what operations we can perform on the web elements to do automation.
ZIO: Powerful and Principled Functional Programming in ScalaWiem Zine Elabidine
This is an introduction of purely functional programming type safe abstractions that provide a variety of features for building asynchronous and concurrent applications data structures built on ZIO.
You'll learn by examples about the power of functional programming to solve the hard problems of software development in a principled, without compromises.
Накануне вышла третья версия Selenide - популярного фреймворка-обертки над Selenium Webdriver для автоматизированного тестирования веб приложений на Java. В связи с этим хотелось бы поговорить про последние фичи этого инструмента, такие как автоматическое логгирование, верификация, управление браузером и другие.
Appium + selenide comaqa.by. Антон СеменченкоAlina Dolgikh
Appium набирает все большую популярность среди инструментов для функционального тестирования мобильных приложений. Selenide - популярная Java обертка над Selenium Webdriver, позволяющая легко и непринужденно писать автоматизированные тесты для веб приложений. Можно ли интегрировать два инструмента, учитывая то, что appium использует свой клиент и свой протокол, несколько отличные от Selenium Webdriver? Что мы сможем выиграть в случае успеха? Давайте поговорим об этом!
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
Взглянем ещё раз на концепцию изоморфных приложений. На первый взгляд, всё красиво — полный порядок, высокая организованность, быстрая выдача результата. Но так ли всё оптимистично? Что случится после того, как мы развернём приложение на сервере? Почему при росте нагрузки наше React-приложение начинает тормозить? Как масштабироваться? Купить ещё несколько серверов? Потом ещё немного? Есть способ лучше.
В рамках доклада рассмотрим следующие темы:
1. Что представляют собой изоморфные приложения?
2. Зачем они на самом деле нужны?
3. Рассмотрим варианты архитектуры.
4. Найдём слабые места (bottleneck).
5. Посмотрим на способы решения и оценим их эффективность.
6. Обсудим возможности масштабирования изоморфных приложений.
7. И, самое главное, ответим на вопрос — стоит ли игра свеч?
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
Стахиевич Андрей, Минск. Опыт в IT более 5 лет, работает в компании ISSoft, специализируется в разработке (.NET C# ASP\MVC, WPF, WinForm) и автоматизированном тестировании ПО (Web, Desktop, Mobile), автоматизации процессов build и deployment в контексте continuous integration различных проектов.
«Appium. Тестируем гибридные мобильные приложения в стиле Webdriver API». Development секция. Отделение тестирования.
Selenium Webdriver давно известен в кругах QA за счет богатого API, реализованного на многих языках программирования, который вот-вот станет стандартом W3C.
С появлением инструмента Appium можно теперь использовать Webdriver API для автоматизации не только веб приложений, но и нативных, а также гибридных мобильных приложений на платформах IOS и Android.
В докладе планируется следующее:
1. Сказать несколько слов об Appium и его месте среди прочих инструментов для тестирования.
2. Поделиться опытом, приобретенным в процессе коммерческой разработки автоматизации тестирования для гибридного мобильного приложения, построенного на основе PhoneGap и Sencha Touch.
3. Рассказать об особенностях написания тестов, работающих и на Android, и на IOS c помощью Appium и стандартного data driven test решения от Junit и TestNG.
4. Рассказать о запуске тестов распределенно с помощью Appium и Selenium Grid.
«Измеряем производительность веб приложения на стороне клиента с помощью Selenium Webdriver и BrowserMobProxy». Development секция. Отделение тестирования.
В современном вебе высокопроизводительный сайт – это не каприз заказчика, а стандарт, приобретающий все большую популярность. А значит у команды QA прибавилась задача – тестирование производительности приложения. В своем докладе я хотел бы поговорить о том, как собирать данные о производительности веб-приложения, как хранить и анализировать эти данные, а также, как оптимизировать производительность, основываясь на полученных данные.
Давайте поговорим о том, как это можно автоматизировать.
1) Производительность веба. Лучшие практики и стандарты.
2) Производительность на стороне клиента:
- сбор данных по производительности с помощью Selenium Webdriver and BrowserMobProxy;
- хранения, анализ и визуализация данных с помощью HAR Storage;
3) Улучшение производительности:
- рекоммендации по улучшение производительности от Google Page Speed;
Доклад представляет собой обзор различных инструментов для тестирования на питоне, которые можно использовать для создания эффективного тестового end-to-end фреймворка на основе selenium webdriver с минимальным количеством заново изобретенных колес. В частности будут рассмотрены такие компоненты архитектуры как обертка вокруг самого драйвера, page object и page elements паттерны, репортинг и соответствующие инструменты, способные с большим или меньшим успехом выполнять роль этих компонентов
Случалось ли, что вы видели (чужой) код и хотели все переписать? Бывало такое, что вы не могли понять, почему кем-то было принято конкретное решение, не другое? Хотели ли вы воскликнуть:«А я бы сделал еще круче!»?
Если вы задумывались об этом, вам будет интересно послушать историю о том, как эти вопросы возникали у Александра и Кирилла и как они решались в условиях большой компании.
Разработчики расскажут, как в самом начале пути вытаскивали шашки и шли в атаку на проблемную архитектуру. Но все оказалось не так просто, и по мере погружения в проект парни стали понимать, что архитектура большой системы — компромисс между различными подходами и решениями, инновациями и легаси (наследованным кодом), централизацией и децентрализацией компонентов. Докладчики наработали очень много опыта в решении архитектурных задач и поделятся опытом и выработанными принципами, которых придерживаются в настоящее время.
Во время доклада будут обсуждаться непростые вопросы, возникающие при принятии решений о том, как будет жить и эволюционировать система.
Вместе со слушателями Александр и Кирилл проделают упражнение по созданию «таблицы технологий» и её эволюции. Также они покажут, насколько важно инженерное решение на любой из стадий развития системы.
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
Дмитрий Лукьяненко, QA Automation рассматривает:
- Selenium IDE;
- Selenium WebDriver;
- Page Obgect Pattern;
- Page Factory Pattern;
- локаторы;
- как построить фреймворк и куда его можно дальше развивать.
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidDevGAMM Conference
Unity для платформы Android решает за разработчика огромное количество проблем. Что впрочем не отменяет умелое использование этого мощного инструментария. Приходите и узнайте секреты и хитрости разработки от участника команды Unity Android.
Перспектива разработки мобильного приложения, которое не потребуется скачивать и ждать review из App Store, очень заманчива, ведь аналогов привычного ПО существует несколько: Progressive Web Apps (PWA), Android Instant Apps (AIA) и Accelerated Mobile Pages (AMP). Как сделать верный выбор, найти «серебряную пулю», ведь у каждой из перечисленных технологий своя специфика разработки, поддержки и тестирования, сильные и слабые стороны. В докладе мы, по возможности, детально рассмотрим каждую из платформ, проведем сравнительный анализ альтенратив “обычными” мобильными приложениями. Давайте все вместе подготовимся к грядущим вызовам обеспечения качества в столь «необычных», новых проектах.
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...COMAQA.BY
В рамках нашего сдвоенного доклада мы проговорим проблему построения Архитектуры решений Автоматизации «от обратного» - систематизируем классические Архитектурные недочеты, в том числе процессного происхождения, сформулируем варианты решения каждой рассмотренной проблемы, критерии выбора решения, и конечно условия перехода проблемы из не идеальной, но промышленно приемлемой, в потенциально опасный для проекта прецедент.
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...COMAQA.BY
Using real life test stories, I will present to you examples of mindset tools that I have identified, how I have used them to optimize collaboration in software development teams, become a valuable team member and a skilled tester. I will further propose a model that can help individuals develop their own mindset tools depending on the type of environment and product being developed.
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьCOMAQA.BY
Рассмотрим как используется QA в различных аспектах жизни. Поговорим о его основных целях и задачах. Рассмотрим примеры хороших и плохих подходов. Поговорим о рисках.
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...COMAQA.BY
Мы поговорим о новых возможностях Open Source фреймворка JDI для Автоматизации UI Тестирования и не только на языках Java, C# .Net и Python. Архитектор проекта расскажет «всю правду» о своем детище, а мы послушаем, сделаем выводы и, возможно, используем это решение для нашего следующего проекта.
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...COMAQA.BY
This presentation is based on Kimmo’s experiences in product component QA at Qvantel and it is aimed at everyone willing to know and understand, what are the challenges we’re facing in QA during software product development in BSS & Telco domain and, in the other hand, what are the good practices and success factors, so that we are able to 1. Test the product properly 2. Deliver smoothly and also 3. Continuously improve. The perspective of the presentation is “managerial”. However, we will also discuss about the technical and methodical aspects in component testing like different test levels, methods, test automation, test data management and testing tools. We also take a look at the different expectations towards testing personnel, like documentation, visibility of test activities, re-usable test assets etc. Finally we discuss about the key success factors in QA for software product development.
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...COMAQA.BY
В докладе я расскажу, как был организован запуск автоматических тестов (appium/javascript) в gitlab CI для нативного Android приложения на каждый Merge Request. Опишу, как можно встроить автотесты в существующий процесс сборки, как правильно настроить запуск тестов в docker image (тесты бегут в TestObject облаке), как произошла интеграция с клаудом и какие результаты это принесло. Tech stack: Gitlab CI, kubernetes, android, appium, javascript, testobject.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.COMAQA.BY
Чем тестирование RESTful API сервисов схоже и чем отличается от тестирования других типов приложений? Какое покрытие тестами является достаточным? Какие лучшие практики существуют для автоматизированного тестирования REST API? Эти и другие темы будут раскрыты в рамках доклада.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.COMAQA.BY
Все, кто когда-либо сталкивался с тестированием производительности, прекрасно знают, как сложно сделать отчеты понятными, хорошо визуализированными и прозрачными для заказчика. Очень важно выбрать "правильные" метрики и разработать нужные профили нагрузки, но если в результате заказчик увидит скучные и непонятные кривые на белом фоне, он вполне может отказаться от тестирования производительности как такового, поскольку результат будет не вполне прозрачен. Давайте посмотрим, как можно улучшить впечатление от результатов тестирования производительности, на примере интеграции JMeter с мощным инструментом визуализации - Grafana.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...COMAQA.BY
Candy Crush Saga is one of the biggest mobile games today with more than 1000 levels of difficulty - and users continue to ask for more. When building new content, it is extremely important to make sure that the level of difficulty is balanced and that the user does not experience crashes or problems through some unforeseen level of play. Alexander Andelkovic shows you how King is training artificial intelligence (AI) programs (bots) to test its games by mimicking human interactions. Join Alex as he discusses how King is taking testing to the next level by employing Monte Carlo Tree Search, automatic heuristic construction, and NeuroEvolution of Augmenting Topologies (NEAT) to train bots to test and evaluate difficulty levels. He discusses ways to extend and use AI bots to predict game success rates and conduct automatic performance testing. Alex explains how this AI approach can be generalized to test other applications. Learn how AI can help you with testing that's getting very difficult to master with traditional testing techniques.
Даже если вы - самый мирный человек, конфликты все равно случаются. Как и почему это происходит, можно ли их избежать и как вести себя, если конфликт уже случился - об этом мы поговорим в рамках доклада "Мое место в конфликте". Конфликт - интереснейшее явление, и то, какие он принесет плоды - разрушение или сотрудничество - зависит в том числе и от того поведения, которое мы реализуем. И напоследок вы узнаете о том, как защитить себя, даже если конструктивно выйти из конфликта уже не удалось.
Организация приемочного тестирования силами матерых тестировщиковCOMAQA.BY
Тестировщик и его взгляд на бизнес тестирование. Как охватить необъятное или совместить своё желание всё проверить как в обычном функциональном тестировании и проверку с точки зрения бизнеса. Организация такого тестирования, взаимодействие с командой разработки и тестирования. Какие плюсы и минусы от того, что в UAT тестировании участвуют матерые тестировщики, а не люди, которые эксплуатируют систему.
Развитие специалиста, менеджера - дело добровольное. Равно как и выживание. Приходите на доклад и мы обсудим: а надо ли развиваться, как развиваться, какие подходы и интструменты можно использовать, обсудим тепловую смерть специалиста.
Системный взгляд на параллельный запуск Selenium тестовCOMAQA.BY
Параллельный запуск тестов – не просто желание, но острая необходимость, стандартная задача, с которой рано или поздно столкнется каждый проект, за исключением, разве что, совсем небольших и краткосрочных. Порой, вопрос параллелизации тестов превращается в сложный или даже почти невыполнимый. Давайте поговорим о том, как избежать подобной ситуации: какие рекомендации и инструменты существуют, какую архитектуру стоит выбрать изначально, каких решений следует избегать. Антон попробует ответить на все эти актуальные вопросы и конечно приведет множество примеров для наглядности и практического подтверждения. Мы проговорим «хорошие» варианты параллельного запуска автоматизированных тестов, но так же рассмотрим ситуацию с противоположной стороны «от противного». Проанализируем десяток «плохих» решений по параллелизации на реальных примерах – сложных, медленных, дорогих, неэффективных. Фактически, беседа будет состоять из двух частей: «что такое хорошо и что такое плохо» в примерах, с аргументацией и рекомендациями.
Мы уделяем много внимания темам автоматизации тестирования. Но что, если мы посмотрим на сам процесс нашей работы? Сколько рутинных задач мы выполняем каждый день? Насколько эффективно мы их выполняем? Иван расскажет о своем опыте эффективной работы с подобными ежедневными задачами
Исходя из своего опыта работы инженером в автоматизации, экспертом в Java automation assessment комитете в компании Epam, Иван поделится общими рекомендациями, советами, материалами для тех, кто хочет достичь уровня Senior инженера в автоматизации. Доклад будет полезен в первую очередь Junior и Middle инженерам, которые смогут использовать его как своего рода «гайд»: посмотреть где есть пробелы, что стоит вспомнить, чему уделить больше внимания.
В своей презентации я бы хотел рассказать о своем личном опыте в OpenSource. Начиная от контрибьюта в популярные проекты и публикации своих проектов на GitHub до участия в процессе отбора и развития OpenSource решений Презентация позволит взглянуть на OpenSource с разных сторон и понять зачем это нужно как для обычного инженера, так и для большой компании
Мы поговорим о новых возможностях Open Source фреймворка JDI для Автоматизации UI Тестирования. Архитектор проекта расскажет «всю правду» о своем детище, а мы послушаем, сделаем выводы и, возможно, используем это решение для нашего следующего проекта.
Out of box page object design pattern, javaCOMAQA.BY
Самая сложная часть в изучении новой дисциплины - разбираться с основами и базовыми понятиями. Давайте поговорим о самых популярных паттернах, которые используются в автоматизации тестирования UI - Page Object: использование статического и динамического решения, границы применимости и неприменимости, особенности реализации в зависимости от содержания, живые примеры.
3. О чем речь?
• Что такое Selenide
• Преимущества использования Selenide
• Идеология инструмента
• Версия 1: Page Object free
• Версия 2: UI Map + static Page Object
• Версия 3: Selenide Page object
12. Profit 4: Примеры
mvn –Dbrowser=chrome test
mvn –Dremote=http://ip:port/wd/hub test
mvn –Dbrowser=chrome test
mvn –Dremote=http://ip:port/wd/hub test
1
2
3
4
13. Profit 5: Что еще?
Selenide - мощный инструмент для написания функциональных тестов.
• Статичный и потокобезопасный WebDriver
• Новые локаторы (sizzle, By.text())
• Helper методы
• Детальные сообщения об ошибках
• Очень понятный и читаемый API
26. Выводы:
• Каждый из вариантов приемлем
• Page Object free чертовски заманчив с Selenide
• Selenide PO хорошо описывает “объемые”
страницы
• UI Map хорош на больших проектах