【问题标题】:Test automation: how to test changing elements with Robot Framework?测试自动化:如何使用 Robot Framework 测试变化的元素?
【发布时间】:2018-06-22 09:43:02
【问题描述】:

我正在使用 Robot Framework + Selenium(Java 版本),我需要使用某种 javascript 测试一个每隔几秒就不断更改图像的背景。

它基本上是四个 元素,其中包含每隔一两秒添加“活动”类的图像。因此,如果正在显示第一个背景,则 HTML 会显示如下内容:

<div class="background first active">
<div class="background second">
<div class="background third">
<div class="background fourth">

一秒钟后它会变成这样:

<div class="background first">
<div class="background second active">
<div class="background third">
<div class="background fourth">

所以我需要做的是检查这个“活动”类确实在 之后循环应用到。有办法吗?

【问题讨论】:

  • 您无需做任何特别的事情。找到活跃的背景。等待几秒钟找到活动背景。比较看看它们是相同的还是不同的。
  • 你能用你的代码试验和图像更改的确切interval 更新问题吗?基于HTML 的DOM 的格式化文本肯定会帮助我们。

标签: selenium automation robotframework


【解决方案1】:

您不需要机器人框架来执行此操作。你可以只用 Selenium 来做到这一点。这是您可以执行此操作的一种方法...

By first = By.cssSelector("div.background.first.active");
By second = By.cssSelector("div.background.second.active");
By third = By.cssSelector("div.background.third.active");
By fourth = By.cssSelector("div.background.fourth.active");
waitForCycle(first);
waitForCycle(second);
waitForCycle(third);
waitForCycle(fourth);

和一个支持功能

public static void waitForCycle(By locator)
{
    WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
    wait.until(ExpectedConditions.invisibilityOfElementLocated(locator));
}

您在开始时在定位器中定义活动状态。然后,您一次调用一个辅助函数。辅助函数等待定位的元素可见然后不可见。

这应该检测到首先变为活动状态,然后再检测到不活动状态。然后第二个变得活跃,然后不活跃......等等。

如果您收到TimeoutException,您就会知道其中一个循环失败了。如果您想要一条失败的“漂亮”消息,您可以在每个消息周围添加一个try-catch,但定位器应该在异常中明确指出正在等待哪个消息。

【讨论】:

  • 同样的逻辑可以通过Robot Script实现,每张图片使用Wait Until Element Is Visible css=div.background.first.active 5s Image did not show within the given total loop time.。
  • @A.Kootstra 您应该将其作为单独的答案发布。将来有人可能会发现它有帮助。
  • 谢谢 :) 我实际上不能使用 Selenium,因为我不能扩展我正在使用的 RF 库。但是@A.Kootstra 的选择听起来很有趣 :)
猜你喜欢
  • 2017-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-03-03
  • 2014-02-02
  • 2015-12-13
  • 2016-09-20
  • 1970-01-01
  • 2014-07-18
相关资源
最近更新 更多