【问题标题】:Check two elements are both in the same class检查两个元素是否都在同一个类中
【发布时间】:2018-12-13 22:30:37
【问题描述】:

我试图断言两个元素在同一个类中,并附有图像。所以我想断言 data-qa-card-id="id number" 和 data-qa-available-card 属于同一类。但是然后我想检查 data-qa-card-id="id number" 和 data-qa-active-card 现在在 data qa-card-id-changes 状态之后是否属于同一类?我可以只使用 if 语句吗?

我遇到的主要问题是,我不知道如何检查卡 ID 何时从可用变为活动,因为还有其他“卡”也具有可用卡和活动卡元素,所以我需要在卡ID的确切类别

我试过了:

public void assert_available_status () {

    GameId gameid = GameId.getInstance();
    String card_id = gameid.currentGameId;

    String available_card_id = game_card_id.getText();

    Assert.assertEquals(card_id, this_card_id);

    if (game_card_id.getClass() == available_card_status.getClass()) {

        System.out.println(card_id + " is an available card");
    }

我试图断言我拥有的游戏 ID 与卡上的游戏 ID 匹配,然后我试图断言它们属于同一类。虽然不工作

【问题讨论】:

  • 我可以使用 if 语句吗? - 你试过了,看看它是否有效?
  • 到目前为止你尝试了什么?
  • 我把我试过的答案放在了答案中
  • @fearghalOreilly 你到底想断言什么the data-qa-card-id="id number"data-qa-available-card 属于同一类? data qa-card-id-changes state 是什么意思?
  • 基本上id号是游戏的编号,最初它在data-qa-available-card部分,但在有人加入后它会移动到data-qa-active-card。我试图断言卡号在有人加入后正在改变状态。

标签: java selenium user-interface testing automation


【解决方案1】:

游戏 id 和可用卡状态是字符串类型。您不能使用 == 运算符进行比较,而是使用下面给出的 equals 方法进行比较。

if (game_card_id.getClass().trim().equals(available_card_status.getClass().trim()) {

   System.out.println(card_id + " is an available card");
}

【讨论】:

    【解决方案2】:
    String firstElementClass = driver.findElement(By.xpath("//div[@data-qa-card-id='first id value']")).getAttribute("class");
    String secondElementClass = driver.findElement(By.xpath("//div[@data-qa-card-id='second id value']")).getAttribute("class");
    Assert.assertEquals(firstElementClass, secondElementClass);
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多