1 package com.atlassian.pageobjects; 2 3 /** 4 * The product being tested. Provides access to key services to be used during testing. 5 */ 6 public interface TestedProduct<T extends Tester> 7 { 8 /** 9 * Constructs the page object, changes the browser URL to the desired page URL, then binds the object to the page. 10 * @param pageClass The page class 11 * @param args Arguments to pass to the page object constructor. 12 * @param <P> The page type 13 * @return The constructed and fully loaded page with the browser set accordingly 14 */ 15 <P extends Page> P visit(Class<P> pageClass, Object... args); 16 17 /** 18 * @return The page binder for visiting pages and binding page objects 19 */ 20 PageBinder getPageBinder(); 21 22 /** 23 * @return Information about the instance being tested 24 */ 25 ProductInstance getProductInstance(); 26 27 /** 28 * @return The tester being used 29 */ 30 T getTester(); 31 }