0

我的问题如下:我们在工作中使用 Selenium IDE 和 RC 来测试我们网站的功能。我们的网站有一个列表,每次添加项目时都会保存在服务器上。它还允许用户登录。

当我的 selenium 套件中途失败时(例如,因为网站上出现错误),它可能会在列表中留下一些项目,它可能会让用户保持登录状态等。拆卸脚本(注销,清除列表)现在是套件的一部分,但是当套件中途失败时它们不会被执行。因此,当下一个测试开始时,它不会像应有的那样从头开始。这当然会使该套件中的几个步骤失败,从而导致整个测试运行崩溃和烧毁。

我想出的解决方案之一是,在每个测试套件之后,运行几个允许失败的较小拆解套件。

示例:Big Main Suite Fail Log out Fail clear list Success

这就是测试中途失败并在列表中留下一些项目时会发生的情况

Big Main Suite 成功 注销 失败 清除列表 失败

这就是成功运行时会发生的情况。

即使这个解决方案可能会起作用,但它对您的报告来说真的很糟糕。

所以我基本上有2个问题:

  1. 确保套件从头开始的最优雅方法是什么,即使之前的套件失败了?
  2. 是否可以抑制您不介意失败的套件和案例的“失败”消息?
4

1 回答 1

1

对于问题 1。确保套件从头开始的最优雅方法是什么,即使之前的套件失败了?

我建议你使用 testNG 或 JUnit 框架。这两个都有注释,可以帮助您编写测试完成时应该发生的事情,而不管测试结果如何。我只用过testNG。testNG 提供了额外的侦听器,您可以在其中定义方法通过、跳过或失败时应该发生的情况。

您还可以定义将在调用任何方法或类之前执行的方法(@BeforeMethod 注释)。

我不知道你现在是如何处理你的报告的,但是 testNG 有一个很好的 HTML 报告,它显示了基本的细节。

通过使用 testNG,您可以实现问题 2中所述的内容。testNG 允许您将测试分组并一起运行这些测试。您可以将所有您不介意失败的测试添加到一组并运行它。

学习曲线相对较少,它会让你的工作更轻松。您可以在此处找到有关 testng 及其与 selenium 集成的更多详细信息

于 2012-05-23T02:06:38.223 回答