jdi-testing / jdi-light Goto Github PK
View Code? Open in Web Editor NEWPowerful Framework for UI Automation Testing on Java
Home Page: https://jdi-docs.github.io/jdi-light/
License: MIT License
Powerful Framework for UI Automation Testing on Java
Home Page: https://jdi-docs.github.io/jdi-light/
License: MIT License
Add few tests as example for using SauceLabs (remote driver)
* Implement SauceLabs properties file if necessary
Add ability to init all Page Objects in folder by command
And in default folder with no ations
Implement methods for Cucumber for html elements methods
See example in jdi-cucumber
Add tests for rest of html elements on html page and fix html elements if necessary
Add examples how to switch Selenid project to jdi-light
Add Java docs for methods in jdi-light marked with @JDIAction annotation
Css and XPath > UI
New locators features
['text']
[*'text']
<
[3]
Tests with no locators and jdi markup for applications
See examples in tests https://github.com/jdi-testing/jdi-light/blob/master/jdi-light-examples/src/test/java/io/github/epam/tests/smart/path/PathTests.java
Add "unit-like" tests for each method of jdi-light elements marked with @JDIAction annotation
UIElement
While test fails we should do by default:
Test project structure
UI Page Objects
Test Data, Tests, TestInit
InitPageObjets (static, dynamic)
Buttons, Text Fields etc.
Add Java docs for methods in jdi-light-html interfaces marked with @JDIAction annotation
Use Smart search for mapping elements in form
test properties
WebSettings
DriverSettings
Run jdi tests via console (Jenkins as example)
properties from mvn params console
properties from gradle params console
Before all tests (example testng)
Kill run web drivers
We need to add description to all types of html elements
Html elements placed: http://epam.github.io/JDI/html5.html
Each section needs:
Html code can be changed in https://github.com/epam/JDI/tree/gh-pages
Add Java docs for all methods in jdi-light
Should be done after Add Java Docs for jdi-light core JDIAction
Add readme to project
Add examples how to switch Selenium project to jdi-light
Add Cook book for jdi-html
Implement Kendo UI Telerik typical elements support like html elements
Collections of elements
Collections of Sections
Implement Vue typical elements like html elements
Add list of test examples that should run in parallel (2-3 threads)
Generate Page Objects
Test attributes in code
Search elements rules
Add contribute rules in readme like Report portal did
Implement Bootstrap typical elements like html elements
Add Java docs for all methods in jdi-light-html
Should be done after Add Java Docs for jdi-light-html JDIAction
Examples with Table, Dropdown and Long Text
Stable search (no waits for page load and ajax-like elements, no thread sleeps)
Examples: Suspend and Ghost buttons.
Add ability to init static pages in some folder / folders directly without JDISite class
scan expected folder and init static PageObjects
How to run tests in parallel with examples
Local
Use Custom Driver
Integration with thirdparty tools:
Selenium Grid
Browser Stack
Selenoid
Tips on parallel tests limitations (preconditions, independent test data)
Dependency change
PageFactory Init
WebElement > UIElement
List<WebElement> > WebList or List<UIElement>
Immediate profits:
Logs
Stability
Performance
Code reduction with Forms and tables
Remove Thread sleeps and waits
Write documentation on all methods for
Section - This means to add different types of elements on section and validate that they are not null after Section init (via Site) and use Section (parent) locator as context
Form
WebPage
For examples for ChromeOptions add property file with options
And while Chrome driver init it will get properties from this file if any
Add ability to map custom attributes to way how to search element
Add default Annotations:
@ ById -> #elName
@ ByText -> //*[text()='elName']
@ ByClass -> .elName
@ ByType -> [type='elName']
@ ByName -> [name='elName']
Move all strings in exceptions and logs in jdi-light in settings class with public static String
Dependency change
PageFactory Init
SelenideElement > UIElement
ElementsCollection > WebList or List<UIElement>
Immediate profits:
Logs
Stability
Performance
Code reduction with Forms and tables
Remove Thread sleeps and waits
Add few tests as example for using Selenoid (remote driver)
* Implement Selenoid properties file if necessary
Repository with project
https://github.com/jdi-templates/jdi-light-selenoid-template
Link to Selenoid Documentation: https://aerokube.com/selenoid/latest/
Standard forms features
Forms without locators
Inline Forms
Forms on pages (example Login Page/Form)
Tables
Fast Tables
Entity Tables
Setup tables
Asserts and search in Tables
Add first steps tutorial for beginners
Add test-examples for different kinds of site initialization using PageFactory.initElements
For now in jdi 1.0 all browsers are killed, even started not by Selenium. JDI Light doesn't handle this for now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.