fluentlenium-spring-testng/src/test/java/io/fluentlenium/CyclicDependencyTest.java
package io.fluentlenium;
import io.fluentlenium.core.FluentPage;
import io.fluentlenium.core.annotation.Page;
import org.testng.annotations.Test;
public class CyclicDependencyTest extends IntegrationFluentTestNg {
@Page
private MainPage mainPage;
@Test
public void simpleCyclicDependency() {
mainPage.
openDialog().
showPanel().
hide().
close().
done();
}
@Test
public void cyclicDependencyWithMultipleSteps() {
mainPage.
openDialog().
showPanel().
closeAll().
openDialog();
}
}
class MainPage extends FluentPage {
@Page
private Dialog dialog;
public Dialog openDialog() {
return dialog;
}
public MainPage done() {
return this;
}
}
class Dialog extends FluentPage {
@Page
private Panel panel;
@Page
private MainPage mainPage;
public Panel showPanel() {
return panel;
}
public MainPage close() {
return mainPage;
}
}
class Panel extends FluentPage {
@Page
private Dialog dialog;
@Page
private MainPage mainPage;
public Dialog hide() {
return dialog;
}
public MainPage closeAll() {
return mainPage;
}
}