本文整理汇总了Java中org.openqa.selenium.support.pagefactory.ElementLocator类的典型用法代码示例。如果您正苦于以下问题:Java ElementLocator类的具体用法?Java ElementLocator怎么用?Java ElementLocator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ElementLocator类属于org.openqa.selenium.support.pagefactory包,在下文中一共展示了ElementLocator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: decorate
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
@Override
public Object decorate(final ClassLoader ignored, final Field field) {
if (!isProxyable(field)) {
return null;
}
final ElementLocator locator = new PageElementLocator(webDriver, context, field);
if (PageElement.class.isAssignableFrom(field.getType())) {
return proxyForLocator(field, locator);
} else if (PageElementCollection.class.isAssignableFrom(field.getType())) {
return proxyForCollectionLocator(locator);
} else {
return null;
}
}
示例2: getCurrentScope
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
/**
* Returns scope represented by this factory. In this case, it is
* {@link NestedSelectorScopedElementLocator} constructed out of parent factory and parent field
* and selector.
*/
@Override
public ElementLocator getCurrentScope() {
return new NestedSelectorScopedElementLocator(searchContext, parentFactory, selector,
globalCurrenScope);
}
示例3: acquireSearchContext
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
private SearchContext acquireSearchContext(ElementLocatorFactory elementLocatorFactory) {
SearchContext searchContext;
ElementLocator parentElementLocator = ((ParentElementLocatorProvider) elementLocatorFactory).
getCurrentScope();
if (parentElementLocator instanceof SearchContextAwareLocator) {
searchContext = ((SearchContextAwareLocator) parentElementLocator).getSearchContext();
} else {
searchContext = parentElementLocator.findElement();
}
return searchContext;
}
示例4: proxyForLocator
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
private Object proxyForLocator(final Field field, final ElementLocator locator) {
final PageElementInterceptor methodInterceptor = new PageElementInterceptor(locator);
final Class<?>[] argTypes = new Class<?>[] {};
final Object[] args = new Object[] {};
return getEnhancedProxy(field.getType(), argTypes, args, methodInterceptor);
}
示例5: decorate
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
@Override
public Object decorate(ClassLoader loader, Field field) {
if (field.isAnnotationPresent(Root.class)) return null;
if (!this.shouldDecorate(field)) return this.nextDecoratorInChain.decorate(loader, field);
ElementLocator locator = this.factory.createLocator(field);
if (locator == null) return null;
return this.decorateField(loader, field, locator);
}
示例6: decorateField
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
private Object decorateField(ClassLoader loader, Field field, ElementLocator locator) {
if (this.isDecoratableList(field)) {
List<WebElement> webElements = this.proxyForListLocator(loader, locator);
Class<?> listType = (Class<?>) ((ParameterizedType) field.getGenericType())
.getActualTypeArguments()[0];
return this.decorate(listType, webElements);
}
WebElement webElement = this.proxyForLocator(loader, locator);
return this.decorate(field.getType(), webElement);
}
示例7: LocatingElementListHandler
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
public LocatingElementListHandler(ElementLocator locator, String name, By by, WebDriver driver)
{
this.locator = locator;
this.name = name;
this.by = by;
this.webDriver = driver;
}
示例8: AbstractUIObjectListHandler
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
public AbstractUIObjectListHandler(Class<?> clazz, WebDriver webDriver, ElementLocator locator, String name)
{
this.clazz = clazz;
this.webDriver = webDriver;
this.locator = locator;
this.name = name;
}
示例9: proxyForLocator
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
protected ExtendedWebElement proxyForLocator(ClassLoader loader, Field field, ElementLocator locator)
{
InvocationHandler handler = new LocatingElementHandler(locator);
WebElement proxy = (WebElement) Proxy.newProxyInstance(loader, new Class[]
{ WebElement.class, WrapsElement.class, Locatable.class }, handler);
return new ExtendedWebElement(proxy, field.getName(), field.isAnnotationPresent(FindBy.class) ? new LocalizedAnnotations(field).buildBy() : null, webDriver);
}
示例10: proxyForListLocator
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected List<ExtendedWebElement> proxyForListLocator(ClassLoader loader, Field field, ElementLocator locator)
{
InvocationHandler handler = new LocatingElementListHandler(locator, field.getName(), new LocalizedAnnotations(field).buildBy(), webDriver);
List<ExtendedWebElement> proxies = (List<ExtendedWebElement>) Proxy.newProxyInstance(loader, new Class[]
{ List.class }, handler);
return proxies;
}
示例11: proxyForListUIObjects
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected <T extends AbstractUIObject> List<T> proxyForListUIObjects(ClassLoader loader, Field field,
ElementLocator locator)
{
InvocationHandler handler = new AbstractUIObjectListHandler<T>((Class<?>) getListType(field), webDriver,
locator, field.getName());
List<T> proxies = (List<T>) Proxy.newProxyInstance(loader, new Class[]
{ List.class }, handler);
return proxies;
}
示例12: getCurrentScope
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
/**
* Returns scope represented by this locator factory.
*/
@Override
public ElementLocator getCurrentScope() {
return new WebElementLocator(webElement);
}
示例13: createLocator
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
/**
* Return a DefaultElementLocator.
*/
@Override
public ElementLocator createLocator(Field field) {
return new DefaultElementLocator(resolveContext(field), field);
}
示例14: createLocator
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
/**
* Creates a locator for the given field.
*/
@Override
public ElementLocator createLocator(Field field) {
return new SelectorScopedElementLocator(searchContext, selector, field);
}
示例15: getCurrentScope
import org.openqa.selenium.support.pagefactory.ElementLocator; //导入依赖的package包/类
/**
* Returns scope represented by this factory.
* In this case, it is SelectorElementLocator constructed out of searchContext and selector.
*/
@Override
public ElementLocator getCurrentScope() {
return new SelectorElementLocator(searchContext, selector);
}