当前位置: 首页 > 知识库问答 >
问题:

用cucumber硒webDrivejava,如何检查存在的WebElement

周洋
2023-03-14

我在写一个自动测试。多亏了这本指南:sukesh15。gitbooks。木卫一

以下是我的Page类的摘录:

public class TestCuCumBerPage {

WebDriver driver;

@FindBy(id = "display")
private WebElement buttonDisplay;

public void buttonDisplayClick() throws Throwable {
    WebElement myDynamicElement = (new WebDriverWait(driver, 30))           
      .until(ExpectedConditions.presenceOfElementLocated(By.id("display")));

    buttonDisplay.click();  
}
}

我必须使用id“display”:

  • 在@FindBy声明中(给WebElement按钮显示)
  • 在网络驱动等待

为了避免这种情况,我创建了一个恒定的按钮显示ID,ID为:

public class TestCuCumBerPage {

WebDriver driver;

private final String BUTTON_DISPLAY_ID = "display";
@FindBy(id = BUTTON_DISPLAY_ID)
private WebElement buttonDisplay;

public void buttonDisplayClick() throws Throwable {
    WebElement myDynamicElement = (new WebDriverWait(driver, 30))           
      .until(ExpectedConditions.presenceOfElementLocated(By.id(BUTTON_DISPLAY_ID)));

    buttonDisplay.click();  
}
}

有没有更好的方法,比如像这样的WebElement myDynamicElement=(new WebDriverWait(driver,30))
。直到(预期条件。出现WebElement(按钮显示));

(我在这里找到了一个问候解释)

谢谢你的帮助

共有1个答案

拓拔骁
2023-03-14
public boolean isElementPresent(WebElement element){
  try{

     WebElement;

     return true;

}
catch(Excception e){

System.out.println("Element not present!!");
return false;

}
}
 类似资料:
  • 在实时自动化中,在对每个元素执行操作之前,我们是否检查它们的存在(在测试中)? 只要有一个语句,就有可能出现NoTouchElementException。我的问题是我们是否每次都检查元素的存在? 是否每个语句都需要被块包围?

  • 我正在使用Gradle 2.4部署在Grovvy和Java开发的工件。我想在工件发布之前检查它的实际存在。一个应用程序是避免覆盖在生产中提取的工件。另一个应用程序是发现下一个次要版本,用于发布集成测试的版本。 我正在发布到常春藤知识库中,我的组件以组、名称和版本为特征。我想知道如何使用GradleAPI来检查是否已经发布了带有这些输入的工件。 谢谢你Loic

  • 问题内容: 我想知道是否有一种优雅的方法来检查数据库的存在?简而言之,如何测试数据库连接字符串的连接? 谢谢 问题答案: 设置在连接字符串中,并执行: 与设置为数据库的名称。 如果要整体检查连接字符串(而不是独立数据库的存在),请尝试以块形式连接到它。

  • 我正在尝试设置硒网格以实现测试的并行执行。首先,我将解释我当前的场景。 < li >我用watir webdriver在cucumber中编写了我的全功能测试套件 < li >我需要在多个环境中执行所有测试。 < li >我为selenium hub和node创建了一个设置 < li >我可以通过hub在单个节点上运行我的测试 我的目标是在多个虚拟机上同时运行我的测试。我遗漏了一部分,我需要配置我

  • 我的问题是关于cucumber特性文件的并行执行。在Selenium Java中,可以通过一个runner类并行运行多个cucumber特性文件吗? 我尝试过不同的方法,但都没有成功。

  • 问题内容: 因此,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段。 像这样: 有时,还会有一个额外的字段,例如: 我想检查名为“ club”的字段是否存在,以便在解析时不会得到 org.json.JSONException:club的值 问题答案: JSONObject类具有一个名为“ has”的方法: http://developer.android.com/reference/o