4. • UI Test Framework
• UI Elements oriented
• Dozens of UI elements already implemented
• Most of common problems already solved (e.g.
stabilization)
4
JDI IS
5. • UI Test Framework
• UI Elements oriented
5
JDI IS
6. • UI Test Framework
• UI Elements oriented
• Interfaces above engines
6
JDI IS
7. 7
JDI - CODE EXAMPLE
public class Login extends Form<User>
@Css(“.login”) TextField submit;
@XPath(“//*[@id=‘psw’]”) TextField name;
@Text(“Login”) Button login;
@FindBy(xpath = “//*[*[value=‘%’]]Hello”) Menu siteNavigation;
loginForm.loginAs(adminUser);
siteNavigation.select(“About”);
8. 8
JDI - CODE EXAMPLE
@JSite(“http://awesome.site.com”)
public class AwesomeSite extends WebSite;
@JPage(url=“/home”) public static HomePage page;
public class HomePage extends WebPage;
@Css(“.name”) public TextField name;
@XPath(“//*[text()=‘%s’]”) public Menu mainMenu;
…
@Frame(“frameId”) public Advert advertisement;
public class Advert extends Section;
@FindBy(className =“pict”) public Image picture;
@FindBy(css = “.descr") public Text description;
Init(AwesomeSite.class);
9. • Save your time for Automation Testing
• Fast on start and easy for support tests in future
• Provide stable and detailed results
• Platform - Flexible for any UI project
9
JDI - PROFIT
Test like a boss
10. • Write test code faster up to 5 times
• Average result around 2.8 times
• 4.7 times speedup on the project with standard implementation
• Produce less amount of test code (loc) up to 3 times
• Average result around 2.1 times
• 2.8 times reduction on the project with standard implementation
• Achieve higher clearness of tests
• Decrease of support time for test projects
• Lowering of project entry barrier for newcomers
• Complete projects with higher quality
• Based on 70 % answers in survey
10
JDI BENEFITS
11. • Reuse investments from one Project on another
• Based on 5 years of work and more than 30 projects that already use JDI
• Save up to 80% test effort by migrating tests to other Platforms
• Based estimated average scope reductions for all test process stages
• Example: migrate Web tests to Mobile platform
11
JDI BENEFITS
• Can be used any project with UI Automation
• Actually we have no projects where JDI is not applicable.
The only reason why not all of our projects use JDI is Client
requirements
• Save up to 30-40% money for testing
• Based on average calculation of scope reductions for all test
process stages
14. 14
NEW ARCHITECTURE
• Less code for new Engines
• More unification
• Guideline for Engines developers
• Implement list of methods with your engine
• Add your engine specific features
• Create list of elements (add only specific
functionality)
15. 15
NEW ARCHITECTURE
• Elements collections
• Simple Web
• Extended Web
• Complex forms and tables
• Shop elements
• Bank / Government / Document elements
…Your collections
16. • All elements and methods documentation
• Simple start guideline
• Cookbook: JDI features tutorial
• Guideline for contributors
… anything else?
16
DOCUMENTATION
22. public class EpamSite extends WebSite {
public static HomePage homePage;
22
VERIFY LAYOUT - DEFAULT
public class HomePage extends WebPage
@Text(“Submit”) public Button submit;
“src/test/resources/jdi-images/epamsite/
homepage/submit.jpg”
23. 23
VERIFY LAYOUT
homePage.verifyLayout()
homePage.assertLayout() / homePage.checkLayout()
public class HomePage extends WebPage
@Text(“Submit”) Button submit;
@Css(“.name”) TextField name;
@XPath(“//*[text()=‘%s’]”) Menu mainMenu;
@FindBy(text = “Hello”) Label label;