Мы поговорим о новых возможностях Open Source фреймворка JDI для Автоматизации UI Тестирования и не только на языках Java, C# .Net и Python. Архитектор проекта расскажет «всю правду» о своем детище, а мы послушаем, сделаем выводы и, возможно, используем это решение для нашего следующего проекта.
5. 1. Open EpamGithub site https://epam.github.io/JDI
2. Click user icon
3. Login as User (name: epam, password: 1234)
4. Select Contacts page in sidebar menu
5. Check that Contacts page opened
6. Fill contacts form with:
gender = "Male"; religion = "Other"; wheather = "Sun, Snow"; passport = "true"; name =
"Roman"; lastName = "Iovlev"; position = "QA Automation"; number = "4321"; seria =
"123456"; description = "JDI awesome";
7. Check that contact form filled with expected data:
gender = "Male"; religion = "Other"; wheather = "Sun, Snow"; passport = "true"; name =
"Roman"; lastName = "Iovlev"; position = "QA Automation"; number = "4321"; seria =
"123456"; description = "JDI awesome";
5
TEST SCENARIO
7. 7
LOGGING AND REPORTING
=== START LoginTest.loginTest ===
Home Page open https://epam.github.io/JDI/index.html
Login
Home Page Check 'Home Page' opened
=== END LoginTest.loginTest (00:07.714) ===
LOGS
REPORTINGPAGE OBJECTS
8. 8
PROJECT ARCHITECTURE
1. AUT model (PageObjects, ServiceObjects)
2. Test scenarios (plain, Steps template, BDD)
3. Settings (prop files, in-code)
4. Utilities
5. Data Management (DDT)
6. Logging (log4j, …)
7. Reporting (Pass/Fail, Allure, RP, …)
8. CI / CD (Jenkins, TeamCity …)
10. • Implemented UI Elements
• UI Elements based PageObjects with cascade initialization
(WebSite.init(EpamSite.class))
• Cascade locators inheritance
• No more sleeps or waits
• Implemented complex elements (Form, Table)
• Automatic Latest Driver download
• Customizable elements and actions
10
JDI 1.X MAIN FEATURES
JDI 1.X
11. • Business actions detailed log with no effort
• Native integration with reporting (Allure, RP)
• Cross language/version tests
• Enums based actions
• Entity Driven Testing native support
• File based properties
• Customizable page loading and get element strategies
• Support Java and C#
11
JDI 1.X MAIN FEATURES
JDI 1.X
12. New architecture
New strategy
PageObjects generator
Cucumber tests manager
Selenium-Selenide integration
JDI Http
JDI on Python
12
JDI 2.0 FEATURES
JDI 2.0
14. Test automation in 30 seconds
https://github.com/jdi-templates/jdi2-template
14
TESTS VIA TEMPLATE 101
15. Test automation in 30 seconds
https://github.com/jdi-templates/jdi2-template
15
MORE TEMPLATES
More templates (https://github.com/jdi-templates/ )
• Web UI
• Web Services
• Mobile
• Desktop …
16. 16
TOOLS AROUND JDI
• PO generators: Web, Http etc.
• Automated tests by Manual QA
• Smoke tests generators: Web, Http etc.
• …
17. • Simple and full documentation
• Youtube channel with examples, tips & tricks
• JDI Light
• Social networking
• …
17
MORE OBVIOUS
https://github.com/jdi-testing
https://vk.com/jdi_framework
http://jdi.epam.com/
https://www.facebook.com
/groups/jdi.framework/
19. • Move all common functional to Core
• Simplify new Engines implementation
• Separate repositories for different languages and functions
• Use interface default implementations for methods reusage
• Add AOP pre/post processors for code simplification
19
JDI 2.0 ARCHITECTURE CHANGES