下面列出了怎么用org.openqa.selenium.WebDriver.Navigation的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
void testNavigate()
{
Navigation navigation = Mockito.mock(Navigation.class);
when(wrappedDriver.navigate()).thenReturn(navigation);
assertEquals(navigation, delegatingWebDriver.navigate());
}
@Test
void testCloseAllWindowsExceptOneMobile()
{
WebDriver webDriver = mock(WebDriver.class);
when(webDriverProvider.get()).thenReturn(webDriver);
when(webDriverManager.isAndroid()).thenReturn(true);
Set<String> windows = new LinkedHashSet<>(List.of(WINDOW1, WINDOW2));
TargetLocator targetLocator = mock(TargetLocator.class);
when(webDriver.getWindowHandles()).thenReturn(windows);
when(webDriver.switchTo()).thenReturn(targetLocator);
Navigation navigation = mock(Navigation.class);
when(webDriver.navigate()).thenReturn(navigation);
windowsActions.closeAllWindowsExceptOne();
verify(navigation, times(2)).back();
}
@Test
public void testPageRefresh() {
final WebDriver mockDriver = mock(WebDriver.class);
Navigation navigation = mock(Navigation.class);
when(mockDriver.navigate()).thenReturn(navigation);
MockSeleniumNavigationStepDefinitions navigationSteps = new MockSeleniumNavigationStepDefinitions(mockDriver);
navigationSteps.pageRefresh();
verify(navigation, times(1)).refresh();
}
@Test
public void navigationEvents() {
final WebDriver mockedDriver = mock(WebDriver.class);
final Navigation mockedNavigation = mock(Navigation.class);
when(mockedDriver.navigate()).thenReturn(mockedNavigation);
WebDriverEventListener listener = mock(WebDriverEventListener.class);
EventFiringWebDriver testedDriver = new EventFiringWebDriver(mockedDriver).register(listener);
testedDriver.get("http://www.get.com");
testedDriver.navigate().to("http://www.navigate-to.com");
testedDriver.navigate().back();
testedDriver.navigate().forward();
testedDriver.navigate().refresh();
InOrder order = Mockito.inOrder(mockedDriver, mockedNavigation, listener);
order.verify(listener).beforeNavigateTo(eq("http://www.get.com"), any(WebDriver.class));
order.verify(mockedDriver).get("http://www.get.com");
order.verify(listener).afterNavigateTo(eq("http://www.get.com"), any(WebDriver.class));
order.verify(mockedDriver).navigate();
order.verify(listener).beforeNavigateTo(eq("http://www.navigate-to.com"), any(WebDriver.class));
order.verify(mockedNavigation).to("http://www.navigate-to.com");
order.verify(listener).afterNavigateTo(eq("http://www.navigate-to.com"), any(WebDriver.class));
order.verify(mockedDriver).navigate();
order.verify(listener).beforeNavigateBack(any(WebDriver.class));
order.verify(mockedNavigation).back();
order.verify(listener).afterNavigateBack(any(WebDriver.class));
order.verify(mockedDriver).navigate();
order.verify(listener).beforeNavigateForward(any(WebDriver.class));
order.verify(mockedNavigation).forward();
order.verify(listener).afterNavigateForward(any(WebDriver.class));
order.verify(mockedDriver).navigate();
order.verify(listener).beforeNavigateRefresh(any(WebDriver.class));
order.verify(mockedNavigation).refresh();
order.verify(listener).afterNavigateRefresh(any(WebDriver.class));
verifyNoMoreInteractions(mockedDriver, mockedNavigation, listener);
}
private Navigation navigate() {
return new BrowserNavigation(getDriver());
}
@Test
public void testThatNavigatingBackInvokesCorrectWebDriverMethods() {
Navigation navigation = mockNavigation();
cut.navigateBackwards();
verify(navigation).back();
}
@Test
public void testThatNavigatingForwardsInvokesCorrectWebDriverMethods() {
Navigation navigation = mockNavigation();
cut.navigateForwards();
verify(navigation).forward();
}
@Test
public void testThatRefreshingInvokesCorrectWebDriverMethods() {
Navigation navigation = mockNavigation();
cut.refresh();
verify(navigation).refresh();
}
private Navigation mockNavigation() {
Navigation navigation = mock(Navigation.class);
doReturn(navigation).when(webDriver).navigate();
return navigation;
}
protected Navigation browser() {
return driver.navigate();
}