當前位置: 首頁>>代碼示例>>Java>>正文


Java PageFactory類代碼示例

本文整理匯總了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
			}
		}
	}
}
 
開發者ID:saiscode,項目名稱:kheera,代碼行數:33,代碼來源:PageObject.java

示例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);
}
 
開發者ID:saiscode,項目名稱:kheera,代碼行數:21,代碼來源:TestExecutionController.java

示例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();
        }
    }
 
開發者ID:eviltester,項目名稱:automationAbstractions,代碼行數:17,代碼來源:ApplicationPageStructuralFactory.java

示例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");
    }
}
 
開發者ID:elimu-ai,項目名稱:webapp,代碼行數:17,代碼來源:AudioEditTest.java

示例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);
        }
    }
 
開發者ID:elimu-ai,項目名稱:webapp,代碼行數:14,代碼來源:VideoEditTest.java

示例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();
	}
}
 
開發者ID:vector-im,項目名稱:riot-automated-tests,代碼行數:10,代碼來源:RiotSettingsPageObjects.java

示例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);
}
 
開發者ID:jalian-systems,項目名稱:marathonv5,代碼行數:15,代碼來源:JTreeDynamicTreeTest.java

示例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;
}
 
開發者ID:codeborne,項目名稱:selenide-appium,代碼行數:9,代碼來源:SelenideAppiumFieldDecorator.java

示例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");
}
 
開發者ID:viydaag,項目名稱:dungeonstory-java,代碼行數:8,代碼來源:AlignmentIT.java

示例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);
}
 
開發者ID:viydaag,項目名稱:dungeonstory-java,代碼行數:8,代碼來源:NewUserIT.java

示例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");
}
 
開發者ID:viydaag,項目名稱:dungeonstory-java,代碼行數:10,代碼來源:NewCharacterIT.java

示例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;
}
 
開發者ID:rahulrathore44,項目名稱:SeleniumCucumber,代碼行數:8,代碼來源:PageBase.java

示例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);
}
 
開發者ID:ViliamS,項目名稱:XPathBuilder,代碼行數:9,代碼來源:HomePageTest.java

示例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);
}
 
開發者ID:elimu-ai,項目名稱:webapp,代碼行數:9,代碼來源:ProjectListTest.java

示例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));
}
 
開發者ID:elimu-ai,項目名稱:webapp,代碼行數:10,代碼來源:ApplicationCreateTest.java


注:本文中的org.openqa.selenium.support.PageFactory類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。