Selenium 如何创建正确的拆卸脚本

Selenium 如何创建正确的拆卸脚本,selenium,automated-tests,selenium-rc,Selenium,Automated Tests,Selenium Rc,我的问题如下:我们在工作中使用Selenium IDE和RC来测试我们网站的功能。我们的网站提供了一个列表,每次添加项目时都会保存在服务器上。它还允许用户登录 当我的selenium套件中途失败时(例如,因为站点出现错误),它可能会在列表中留下一些项目,可能会让用户登录,等等。拆卸脚本(注销,清除列表)现在是套件的一部分,但当套件中途失败时,它们不会被执行。因此,当下一个测试开始时,它不会像应该的那样从零开始。这当然会使该套件中的几个步骤失败,导致整个测试运行崩溃和烧毁 我提出的解决方案之一是,

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

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

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

例如: 大套房失败 注销失败 清除列表成功

如果测试中途失败并在列表中留下一些项目,则会发生这种情况

大套房成功 注销失败 清除列表失败

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

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

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

  • 哪种最优雅的方式可以确保套件从零开始,即使套件在失败之前就已经开始了
  • 是否可以抑制您不介意失败的套件和案例的“失败”消息

  • 对于问题1。哪种最优雅的方式可以确保套件从零开始,即使套件在失败之前就已经开始了?

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

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

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

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


    学习曲线相对较少,这将使你的工作更容易。您可以找到更多关于testng及其与selenium集成的详细信息

    是否有任何原因让您一直使用selenium RC(现在已弃用)不是真的,我是创建测试用例和套件的人,其他人正在让它们进入RC。切换到Webdriver是否有助于解决我的问题?是否使用testNG或JUnit之类的框架?