我的目标
我的直觉是,Fluentlenium用于断言是否已到达一个页面,是否基于匹配的untilPage(myPage).isAt()。尽管它似乎返回true,不管页面是否已到达我的页面。我想我只是误解了这个职能的目的。
来自流利的文档:
“如果您想要等到您想要的页面是您所在的页面时,可以使用”
我的设置:
import org.fluentlenium.adapter.junit.FluentTest;
import org.fluentlenium.core.FluentPage;
import org.fluentlenium.core.annotation.Page;
import org.fluentlenium.core.annotation.PageUrl;
import org.junit.Test;
@PageUrl("http://www.google.com")
class GPage extends FluentPage {
}
@PageUrl("www.fakepage.com")
class FPage extends FluentPage{
}
public class Duh extends FluentTest {
@Page
GPage google;
@Page
FPage fakePage;
@Test
public void test() {
goTo(google);
await().atMost(1).untilPage(fakePage).isAt();
}
}此代码在完成后不会抛出任何异常。这个功能的目的是什么?它只是在等待document.readyState,即使isLoaded()已经提供了这个功能?
版本:
氟化铵/硒3.0.0
Junit 4.12
PS:我知道使用Selenium是可能的。我只是想问一下这个特定功能的目的是什么。
发布于 2018-09-06 19:37:25
@code_disciple1 isAt方法用于简单的和更复杂的断言。等待document.readyState并不适用于所有情况。有时你想要检查你是否在正确的页面使用一个以上的条件,例如。等待要运行的特定元素、特定URL或任何其他检查。例如:在我的当前项目中,我们检查当前页面是否有特定的URL。
实际上,您可以使用Selenium编写这样的方法,但是FluentLenium提供了一种简单的开箱即用的机制来断言这种情况。
另外,如果您认为这个功能有错误,请在我们的GitHub https://github.com/FluentLenium/FluentLenium/issues上报告。
https://stackoverflow.com/questions/51904854
复制相似问题