【问题标题】:Assert color value is correct or not in selenium java在 selenium java 中断言颜色值是否正确
【发布时间】:2018-07-12 18:33:18
【问题描述】:

我正在使用 java 中的 selenium。我是硒的新手。我有一个名为 connected 的类,其中包含一个绿色符号。我想断言该符号是否变为绿色。

这是我的代码:-

 Boolean connectionSymbolGreenValue = driver.findElement(By.className("connected")).isEnabled();
    System.out.println("Green Signal"+connectionSymbolGreenValue);
    Assert.assertTrue(connectionSymbolGreenValue);

我已经尝试过这段代码。如果条件失败,那么它也返回 true。 我的代码有错误吗?任何人都可以提出任何解决方案吗?

【问题讨论】:

  • 尝试获取它的 xpath 值。

标签: java css selenium css-selectors


【解决方案1】:

当您尝试识别一个名为 connected 的类时,该类包含一个带有 green 的符号,调用 .isEnabled() 方法可能无法解决我们的目的.

.isEnabled()

.isEnabled() 验证元素当前是否启用?这通常会为除禁用输入元素之外的所有内容返回 true

解决方案

尝试识别唯一标识符号的attribute_containing_greenness_value的属性(样式),然后提取String值并调用Assert.assertTrue()actual_greenness_value比较如下:

String connectionSymbolGreenValue = driver.findElement(By.className("connected")).getAttribute("attribute_containing_greenness_value");
System.out.println("Green Signal"+connectionSymbolGreenValue);
Assert.assertTrue(connectionSymbolGreenValue.equalsIgnoreCase("actual_greenness_value"));

【讨论】:

  • 我可以在“attribute_containing_greenness_value”中使用RGB格式的绿色代码吗?
  • 粗略地说,您需要捕获指向您感兴趣的对象的 ColorCode 的属性。如果是 RGB 格式 No Issues 。但最后你应该反对actual_greenness_value,它应该在equalsIgnoreCase()的范围内
  • @DebanjanB,在元素上具有属性/类并不能保证您将获得预期的颜色或背景图像。因此,您不能通过检查属性/类的存在来断言颜色。要声明颜色,您需要使用 getCssValue 或屏幕截图中像素的颜色声明渲染样式。
猜你喜欢
  • 2012-10-08
  • 2022-10-05
  • 2017-05-26
  • 2021-07-08
  • 2014-04-07
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多