本文整理匯總了Java中org.openqa.selenium.support.PageFactory類的典型用法代碼示例。如果您正苦於以下問題:Java PageFactory類的具體用法?Java PageFactory怎麽用?Java PageFactory使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
PageFactory類屬於org.openqa.selenium.support包,在下文中一共展示了PageFactory類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: map
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
/**
* 1. map elements of interest to their name
* 2. reload elements from the page every time `map` is called
*
* E.g., Say ELEMENT_LOCATORS=id
* and <input id="username" type="text"></input>
* then nameElementMap will contain "username" => WebElement
*/
@Override
protected void map(AbstractPage p) {
getBys();
List<WebElement> elements = new ArrayList<WebElement>();
for (By by : bys) {
elements.addAll(driver.findElements(by));
}
PageFactory.initElements(driver, this);
String[] tokens = locators.split(",");
for(WebElement w: elements) {
for (String s : tokens) {
try{
String attr = w.getAttribute(s);//throws StaleElementReferenceException
if (attr != null) {
nameElementMap.put(attr, w);
}
}catch(StaleElementReferenceException se){
//ignoring elements which have become stale because
//a stale object shouldn't have to be referenced
//by an automation script
}
}
}
}
示例2: addPageObject
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
public AbstractPage addPageObject(AbstractPage p) {
String url = p.forUrl();
if(!mapper.containsKey(url)){
mapper.put(url, p);
String currentUrl = null;
try{
String currUrl = driver.getCurrentUrl();
URI url2 = new URI(currUrl);
String path = url2.getPath();
currentUrl = currUrl.substring(0, currUrl.indexOf(path));
}catch (URISyntaxException e) {
e.printStackTrace();
} catch(NullPointerException npe){
currentUrl = baseUrl;
}
p.setBaseUrl(baseUrl.equals(currentUrl) ? baseUrl: currentUrl);
PageFactory.initElements(driver, p);
}
return mapper.get(url);
}
示例3: ApplicationPageStructuralFactory
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
public ApplicationPageStructuralFactory(WebDriver driver, TodoMVCSite todoMVCSite) {
PageFactory.initElements(driver, this);
this.driver = driver;
this.todoMVCSite = todoMVCSite;
wait = new WebDriverWait(driver,10);
// move the mouse out of the way so it
// doesn't interfere with the test
try {
new Robot().mouseMove(0,0);
} catch (AWTException e) {
e.printStackTrace();
}
}
示例4: testAddAndRemoveWordLabel
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Test
public void testAddAndRemoveWordLabel() {
AudioListPage audioListPage = PageFactory.initElements(driver, AudioListPage.class);
if (audioListPage.getListCount() > 0) {
audioListPage.clickRandomEditLink();
AudioEditPage audioEditPage = PageFactory.initElements(driver, AudioEditPage.class);
audioEditPage.addWordLabel("apple");
// Refresh current page
driver.navigate().refresh();
PageFactory.initElements(driver, AudioEditPage.class);
audioEditPage.removeWordLabel("apple");
}
}
示例5: testEdit
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Test
public void testEdit() {
VideoListPage videoListPage = PageFactory.initElements(driver, VideoListPage.class);
if (videoListPage.getListCount() > 0) {
videoListPage.clickRandomEditLink();
VideoEditPage videoEditPage = PageFactory.initElements(driver, VideoEditPage.class);
videoEditPage.submitForm();
// TODO
// PageFactory.initElements(driver, VideoListPage.class);
}
}
示例6: RiotSettingsPageObjects
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
public RiotSettingsPageObjects(AppiumDriver<MobileElement> myDriver) throws InterruptedException{
driver=(AndroidDriver<MobileElement>) myDriver;
PageFactory.initElements(new AppiumFieldDecorator(myDriver), this);
try {
waitUntilDisplayed((AndroidDriver<MobileElement>) driver,"im.vector.alpha:id/vector_settings_page", true, 10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
示例7: showDialog
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@BeforeMethod public void showDialog() throws Throwable {
SwingUtilities.invokeAndWait(new Runnable() {
@Override public void run() {
frame = new JFrame(JTreeDynamicTreeTest.class.getSimpleName());
frame.setName("frame-" + JTreeDynamicTreeTest.class.getSimpleName());
frame.getContentPane().add(new DynamicTreeDemo(), BorderLayout.CENTER);
frame.pack();
frame.setAlwaysOnTop(true);
frame.setVisible(true);
}
});
driver = new JavaDriver();
page = PageFactory.initElements(driver, DynamicTreePage.class);
}
示例8: initElementsContainer
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
private ElementsContainer initElementsContainer(Class<?> type, SelenideElement self) throws Exception {
Constructor<?> constructor = type.getDeclaredConstructor();
constructor.setAccessible(true);
ElementsContainer result = (ElementsContainer) constructor.newInstance();
PageFactory.initElements(new SelenideFieldDecorator(self), result);
result.setSelf(self);
return result;
}
示例9: setUp
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Override
public void setUp() throws Exception {
super.setUp();
loginPO = PageFactory.initElements(getDriver(), LoginPageObject.class);
loginPO.login("admin", "admin");
}
示例10: setUp
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Override
public void setUp() throws Exception {
super.setUp();
// Use the PageFactory to automatically initialize fields.
loginPO = PageFactory.initElements(getDriver(), LoginPageObject.class);
}
示例11: setUp
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Override
public void setUp() throws Exception {
super.setUp();
messages = Messages.getInstance(Locale.getDefault());
loginPO = PageFactory.initElements(getDriver(), LoginPageObject.class);
loginPO.login("admin", "admin");
}
示例12: PageBase
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
public PageBase(WebDriver driver) {
if(driver == null)
throw new IllegalArgumentException("Driver object is null");
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), this);
this.driver = driver;
}
示例13: testInit
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Parameters({ "path" })
@BeforeClass
public void testInit(String path) {
// Load the page in the browser
webDriver.get(websiteUrl + path);
homepage = PageFactory.initElements(webDriver, HomePage.class);
}
示例14: testListNotEmpty
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Test
public void testListNotEmpty() {
ProjectListPage projectListPage = PageFactory.initElements(driver, ProjectListPage.class);
Boolean isEmpty = projectListPage.checkIfListItemIsEmpty();
assertTrue(isEmpty);
}
示例15: testSubmitEmptyForm
import org.openqa.selenium.support.PageFactory; //導入依賴的package包/類
@Test
public void testSubmitEmptyForm() {
ApplicationListPage applicationListPage = PageFactory.initElements(driver, ApplicationListPage.class);
applicationListPage.clickAddButton();
ApplicationCreatePage applicationCreatePage = PageFactory.initElements(driver, ApplicationCreatePage.class);
applicationCreatePage.submitForm();
assertThat(applicationCreatePage.isErrorMessageDisplayed(), is(true));
}