Никак не могу понять, как применить паттерн Page Object в моём случае и применим ли он вообще. Пишу автотесты для крупного портала в связке Selenium/C#/NUnit. Портал резнесён на несколько поддоменов, имеет много разных разделов, но все они взаимосвязаны и на них есть огромное количество одинаковых элементов (не блоков, а именно элементов) в разных комбинациях на разных страницах. То есть, допустим, имеются элементы "A", "B", "C", и "D", и их наличие на страницах выглядит примерно следующим образом: страница 1 - A, C, D; страница 2 - B, C, D; страница 3 - C; страница 4 - B, D и т.д.
Получается, что если, в соответствии с POM, создавать отдельные классы для каждой страницы (коих в сумме наберётся под сотню) и объявлять в них эти элементы, то будут тонны повторяемого кода. Разбиение на блоки тоже не подходит, потому что, как я уже упоминал выше, набор элементов в пределах однотипного блока на разных страницах также может варьироваться.
Пока единственный вариант, который мне видится наименьшим из зол, - описать все используемые тестами элементы в одном классе. Недостаток такого подхода очевиден - огромный класс с сотнями свойств, именовать которые приходится в стиле "MainSearchPageLeftColomnFilterPriceMin", иначе в этом нагромождении будет вообще непонятно, что и откуда. Но что-то мне подсказывает, что есть варианты гораздо лучше.
Извиняюсь, если подобное обсуждение здесь уже есть, но не смог найти.
Корпорация ЭЛАР — крупнейшее в Европе специализированное предприятие по созданию, комплексному оснащению и наполнению электронных архивов, внедрению передовой техники, информационных технологий и решений, а так же созданию ПО.
В наше проектное направление - Разработка ECM-платформы мы приглашаем специалиста / ведущего специалиста по автоматизированному тестированию.
В конце февраля в Киеве прошла конференция Selenium Camp 2017, полностью посвященная вопросам автоматизации тестирования.
Так как мероприятие проходило в три потока, участники могли выбрать: слушать доклады англоязычных спикеров, обратить внимание на более узкие темы (о мобильной автоматизации, автоматизации на JavaScript и PHP) и посетить секцию B, или принять участие в обсуждении для новичков в секции С.
По итогам конференции была получена обратная связь от участников, которые оценили выступления спикеров, поставив оценки. Ниже представлены 10 лучших докладов, выбранных по итогам мероприятия.
Sergey Pirogov, TestNG vs JUnit 5 battle
Mikalai Alimenkou, 5 top pain points of test automation Start writing good functional tests in Java with WebDriver
Mikalai Alimenkou, Start writing good functional tests in Java with WebDriver (part 1, part 2)
Mikalai Alimenkou, Everything you want to know about Page Object design pattern (part 1, part 2)
Leonid Rudenko, Excuse me, sir, do you have a moment to talk about tests in Kotlin?
Mikalai Alimenkou, Design patterns in test automation
Sergey Korol, How does Java 8 exert hidden power on Test Automation?
Marcus Merrell, Locution: Grading Your Selenium Tests
Yaroslav Pernerovskyy, Fabulous tests with Spock and Groovy
Roman Iovlev, Test UI with JDI: easy, simple and good (part 1, part 2)