gpt4 book ai didi

java - WebDriver等等。快速检查元素是否存在

转载 作者:行者123 更新时间:2023-11-30 11:06:06 25 4
gpt4 key购买 nike

我遇到了一个问题,但我不知道如何正确解决它。情况:用户输入登录名和密码,然后他可以在两个页面之一。问题是:如何正确判断我们在哪个页面?

1。我想使用 WebDriverWait,所以我的 implicitlyWait = 0 ms,

2。我使用页面对象模式,页面是用 AjaxElementLocatorFactory 初始化的

一个。所以,如果我会像这样检查某些元素的方法:

@FindBy(id = "pushOutMessage")
private WebElement messageText;

public boolean pageIsPresent() {
return messageText.isDisplayed();
}

这将是不正确的,因为如果页面错误,WebDriver 将等待该元素 N 秒。所以它使我的简单测试变慢,非常非常慢。

b。如果我将使用“findElement”检查元素 - 我的隐式等待是 0 毫秒,所以如果元素加载缓慢 pageIsPresent 返回 false,即使页面是正确的。

我希望有其他方法可以做到这一点。需要你的帮助!

最佳答案

您可以通过多种方式做到这一点。但最简单的方法是检查元素计数

我宁愿做

@FindBy(id = "pushOutMessage")
private List<WebElement> elements;

public int pageIsPresent() {
return elements.size();
}

并且,在某个地方测试 pageIsPresent() 是否为 0 或更大。如果大于 0,我们知道页面元素已返回

并且,由于您使用的是页面对象模式和 Java,因此我建议您为 baseClass 创建一个重载,它会在您每次实例化一个新的页面对象时检查选择器。我有一个 git 仓库 here与 TestNG。这可能有帮助

关于java - WebDriver等等。快速检查元素是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29406212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com