当前位置: 首页>>代码示例>>Java>>正文


Java SearchContext类代码示例

本文整理汇总了Java中org.openqa.selenium.SearchContext的典型用法代码示例。如果您正苦于以下问题:Java SearchContext类的具体用法?Java SearchContext怎么用?Java SearchContext使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SearchContext类属于org.openqa.selenium包,在下文中一共展示了SearchContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getByRepeaterRow

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
@SProperty(name = "ng-repeat-row")
public By getByRepeaterRow(String repeaterRow) {
    String repeater = repeaterRow.split("###")[0];
    int row = Integer.valueOf(repeaterRow.split("###")[1]);
    return new ByAngularRepeaterRow(NgWebDriver.DEFAULT_ROOT_SELECTOR, repeater, false, row) {
        @Override
        public List<WebElement> findElements(SearchContext searchContext) {
            List<WebElement> elements = new ArrayList<>();
            try {
                elements.add(this.findElement(searchContext));
            } catch (Exception ex) {

            }
            return elements;
        }
    };
}
 
开发者ID:CognizantQAHub,项目名称:Cognizant-Intelligent-Test-Scripter,代码行数:18,代码来源:AngularFindBy.java

示例2: findElements

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
@Override
public List<WebElement> findElements(SearchContext context) {
	if (locators.length == 0) {
		return new ArrayList<WebElement>();
	}
	List<WebElement> elems = new ArrayList<WebElement>();

	for (String locator : locators) {
		By by = LocatorUtil.getBy(locator);
		elems.addAll(by.findElements(context));
		if (!elems.isEmpty()) {
			break;
		}
	}

	return elems;
}
 
开发者ID:qmetry,项目名称:qaf,代码行数:18,代码来源:ByAny.java

示例3: componentIsVisible

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if this page component is visible
 * 
 * @return page component if visible; otherwise 'null'
 */
public static Coordinator<PageComponent> componentIsVisible() {
    return new Coordinator<PageComponent>() {

        @Override
        public PageComponent apply(SearchContext context) {
            PageComponent component = verifyContext(context);
            return (component.isDisplayed()) ? component : null;
        }
        
        @Override
        public String toString() {
            return "page component to be visible";
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:21,代码来源:PageComponent.java

示例4: componentIsHidden

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if this page component is hidden
 * 
 * @return page component if hidden; otherwise 'null'
 */
public static Coordinator<PageComponent> componentIsHidden() {
    return new Coordinator<PageComponent>() {

        @Override
        public PageComponent apply(SearchContext context) {
            PageComponent component = verifyContext(context);
            return (component.isInvisible()) ? component : null;
        }
        
        @Override
        public String toString() {
            return "page component to be absent or hidden";
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:21,代码来源:PageComponent.java

示例5: referenceIsRefreshed

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that refreshes the wrapped reference of the specified robust element.
 * 
 * @param wrapper robust element wrapper
 * @return wrapped element reference (refreshed)
 */
private static Coordinator<RobustElementWrapper> referenceIsRefreshed(final RobustElementWrapper wrapper) {
    return new Coordinator<RobustElementWrapper>() {

        @Override
        public RobustElementWrapper apply(SearchContext context) {
            try {
                return acquireReference(wrapper);
            } catch (StaleElementReferenceException e) {
                ((WrapsContext) context).refreshContext(((WrapsContext) context).acquiredAt());
                return acquireReference(wrapper);
            }
        }

        @Override
        public String toString() {
            return "element reference to be refreshed";
        }
    };
    
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:27,代码来源:RobustElementFactory.java

示例6: contextIsSwitched

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that switches focus to the specified context
 * 
 * @param context search context on which to focus
 * @return target search context
 */
static Coordinator<SearchContext> contextIsSwitched(final ComponentContainer context) {
    return new Coordinator<SearchContext>() {

        @Override
        public SearchContext apply(SearchContext ignore) {
            if (context.parent != null) {
                context.parent.switchTo();
            }
            
            try {
                return context.switchToContext();
            } catch (StaleElementReferenceException e) {
                return context.refreshContext(context.acquiredAt());
            }
        }
        
        @Override
        public String toString() {
            return "context to be switched";
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:29,代码来源:ComponentContainer.java

示例7: landingPageAppears

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if the expected landing page has appeared.
 * 
 * @return 'true' if the expected landing page has appeared
 */
private static Coordinator<Boolean> landingPageAppears() {
    return new Coordinator<Boolean>() {

        @Override
        public Boolean apply(SearchContext context) {
            verifyLandingPage((Page) context);
            return Boolean.TRUE;
        }
        
        @Override
        public String toString() {
            return "expected landing page to appear";
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:21,代码来源:ComponentContainer.java

示例8: newWindowIsOpened

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if a new window has opened
 * 
 * @param initialHandles initial set of window handles
 * @return new window handle; 'null' if no new window found
 */
public static Coordinator<String> newWindowIsOpened(final Set<String> initialHandles) {
    return new Coordinator<String>() {

        @Override
        public String apply(SearchContext context) {
            Set<String> currentHandles = WebDriverUtils.getDriver(context).getWindowHandles();
            currentHandles.removeAll(initialHandles);
            if (currentHandles.isEmpty()) {
                return null;
            } else {
                return currentHandles.iterator().next();
            }
        }
        
        @Override
        public String toString() {
            return "new window to be opened";
        }
    };

}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:28,代码来源:Coordinators.java

示例9: windowIsClosed

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if the specified window has closed
 * 
 * @param windowHandle handle of window that's expected to close
 * @return 'true' if the specified window has closed; otherwise 'false'
 */
public static Coordinator<Boolean> windowIsClosed(final String windowHandle) {
    return new Coordinator<Boolean>() {

        @Override
        public Boolean apply(SearchContext context) {
            Set<String> currentHandles = WebDriverUtils.getDriver(context).getWindowHandles();
            return Boolean.valueOf( ! currentHandles.contains(windowHandle));
        }
        
        @Override
        public String toString() {
            return "window with handle '" + windowHandle + "' to be closed";
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:22,代码来源:Coordinators.java

示例10: visibilityOfElementLocated

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if the first element matched by the specified locator is visible
 * 
 * @param locator web element locator
 * @return web element reference; 'null' if the indicated element is absent or hidden
 */
public static Coordinator<WebElement> visibilityOfElementLocated(final By locator) {
    return new Coordinator<WebElement>() {

        @Override
        public WebElement apply(SearchContext context) {
            try {
                return elementIfVisible(context.findElement(locator));
            } catch (StaleElementReferenceException e) {
                return null;
            }
        }

        @Override
        public String toString() {
            return "visibility of element located by " + locator;
        }
    };

}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:26,代码来源:Coordinators.java

示例11: visibilityOfAnyElementLocated

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if any element matched by the specified locator is visible
 * 
 * @param locator web element locator
 * @return web element reference; 'null' if no matching elements are visible
 */
public static Coordinator<WebElement> visibilityOfAnyElementLocated(final By locator) {
    return new Coordinator<WebElement>() {

        @Override
        public WebElement apply(SearchContext context) {
            try {
                List<WebElement> visible = context.findElements(locator);
                return (WebDriverUtils.filterHidden(visible)) ? null : visible.get(0);
            } catch (StaleElementReferenceException e) {
                return null;
            }
        }

        @Override
        public String toString() {
            return "visibility of element located by " + locator;
        }
    };

}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:27,代码来源:Coordinators.java

示例12: invisibilityOfElementLocated

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if an element is either hidden or non-existent.
 *
 * @param locator web element locator
 * @return 'true' if the element is hidden or non-existent; otherwise 'false'
 */
public static Coordinator<Boolean> invisibilityOfElementLocated(final By locator) {
    return new Coordinator<Boolean>() {
        
        @Override
        public Boolean apply(SearchContext context) {
            try {
                return !(context.findElement(locator).isDisplayed());
            } catch (NoSuchElementException | StaleElementReferenceException e) {
                // NoSuchElementException: The element is not present in DOM.
                // StaleElementReferenceException: Implies that element no longer exists in the DOM.
                return true;
            }
        }

        @Override
        public String toString() {
            return "element to no longer be visible: " + locator;
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:27,代码来源:Coordinators.java

示例13: stalenessOf

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
/**
 * Returns a 'wait' proxy that determines if the specified element reference has gone stale.
 *
 * @param element the element to wait for
 * @return 'false' if the element reference is still valid; otherwise 'true'
 */
public static Coordinator<Boolean> stalenessOf(final WebElement element) {
    return new Coordinator<Boolean>() {
        private final ExpectedCondition<Boolean> condition = conditionInitializer();

        // initializer for [condition] field
        private final ExpectedCondition<Boolean> conditionInitializer() {
            if (element instanceof WrapsElement) {
                return ExpectedConditions.stalenessOf(((WrapsElement) element).getWrappedElement());
            } else {
                return ExpectedConditions.stalenessOf(element);
            }
        }

        @Override
        public Boolean apply(SearchContext ignored) {
            return condition.apply(null);
        }

        @Override
        public String toString() {
            return condition.toString();
        }
    };
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:31,代码来源:Coordinators.java

示例14: testGetDriver

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
@Test
public void testGetDriver() {
    WebDriver driver = getDriver();
    ExamplePage page = getPage();
    WebElement element = page.findElement(By.tagName("html"));
    
    assertTrue(WebDriverUtils.getDriver((SearchContext) driver) == driver);
    assertTrue(WebDriverUtils.getDriver(page) == driver);
    assertTrue(WebDriverUtils.getDriver(element) == driver);
    
    try {
        WebDriverUtils.getDriver(mock(SearchContext.class));
        fail("No exception was thrown");
    } catch (UnsupportedOperationException e) {
        assertEquals(e.getMessage(), "Unable to extract the driver from the specified context");
    }
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:18,代码来源:WebDriverUtilsTest.java

示例15: testBrowserName

import org.openqa.selenium.SearchContext; //导入依赖的package包/类
@Test
public void testBrowserName() {
    WebDriver driver = getDriver();
    ExamplePage page = getPage();
    WebElement element = page.findElement(By.tagName("html"));
    SeleniumConfig config = SeleniumConfig.getConfig();
    String browserName = config.getBrowserCaps().getBrowserName();
    
    assertEquals(WebDriverUtils.getBrowserName((SearchContext) driver), browserName);
    assertEquals(WebDriverUtils.getBrowserName(page), browserName);
    assertEquals(WebDriverUtils.getBrowserName(element), browserName);
    
    try {
        WebDriverUtils.getBrowserName(mock(WebDriver.class));
        fail("No exception was thrown");
    } catch (UnsupportedOperationException e) {
        assertEquals(e.getMessage(), "The specified context is unable to describe its capabilities");
    }
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:20,代码来源:WebDriverUtilsTest.java


注:本文中的org.openqa.selenium.SearchContext类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。