如何为Selenium IDE创建嵌套测试套件?

时间:2010-01-07 20:40:23

标签: selenium selenium-ide

我需要在Selenium中创建一个嵌套测试套件,该套件将在Selenium IDE或Selenium TestRunner中运行。这基本上就是我想要实现的结构:

MasterTestSuite.html
 - ComponentTestSuite.html
    - TestCase1.html
    - TestCase2.html
 - OtherComponentTestSuite.html
    - TestCase3.html
    - TestCase4.html

我需要能够达到与此相当的效果。我已经开始尝试一个Include扩展,它允许我包含另一个测试用例的内容,但是我遇到了它的问题。你是如何实现这一目标的?对于如何帮助我实现这一目标,您能给出什么建议?

6 个答案:

答案 0 :(得分:3)

这可能不是一个明确的答案,但我使用Selenium IDE 3个月。然后我发现WebDriver功能更强大。您的情况与Selenium WebDriver相提并论。逻辑越复杂,使用源代码而不是GUI界面来定义工作流程就越好。如果没有正确记录,输入和输出参数会变得非常混乱。如果他们升级Selenium IDE,他们可以轻松破解。 Selenium IDE非常擅长向新手程序员展示如何使用刻录机自动化工作流程,但如果您是程序员,它会阻止您。

但是,如果您真的想要完成自己的工作,可以开发自己的自定义JavaScript函数来调用其他函数(或其他测试用例)。

答案 1 :(得分:1)

据我所知,Selenium IDE不支持此功能。大多数人这样做的方式是创建单独的测试套件并单独运行它们。

我在C#/ NUnit中通过为每个主区域创建一个* .cs文件,然后为每个测试设置类别来获得额外的粒度

e.g。

namespace Test.The.World
{
   [TestFixture]
   public class UK 
   {
      [Test]
      [Category("Southern Counties")]
      public void Sussex_Brighton(){
          .....
      }
      [Test]
      [Category("Southern Counties")]
      public void Hampshire_Southampton(){
          .....
      }
   }
}

然后使用NUnit功能相应地运行测试。

我相信大多数语言的大多数框架都有这种功能

答案 2 :(得分:1)

我每天都在与Selenium一起使用基于模型的测试,并且使用模型可以将逻辑如何执行测试以及测试自己。

有一些开源/自由软件“机器人”,如http://www.xqual.com/ XStudio。我已经尝试了一下并完成了工作,但是如果您的测试环境不经常改变,那么工作非常混乱。你可以在这里开始每天开始自动执行等,并报告结果。

干杯, 斯蒂芬

答案 3 :(得分:1)

我在Selenium IDE中构建了几十个测试套件,以帮助测试我的Store Locator Plus WordPress插件。有时我需要运行一个Selenium测试套件。但是,当我发布新版本的基本插件时,我想一个接一个地运行十几个测试套件。

虽然不是完美适合您创建多个主套件的用例,但我确实找到了一对Selenium IDE插件,它允许我创建一个单独的"收藏夹列表&# 34;并背靠背地运行我的所有收藏夹。

有可能调查&修改插件JavaScript以创建几个不同的"收藏夹列表"这可能适合您的需求。在此期间,您可以获得至少一个"主套件列表"通过组合这些Selenium IDE附加组件:

安装每个附加组件(技术上是Mozilla Firefox插件)后,您将在Selenium IDE界面中看到一个收藏夹按钮。标记您最喜欢的套房,您将获得"列表"。您现在可以选择"收藏夹/全部运行"来自Selenium IDE菜单。

您可能需要注意标记收藏夹的顺序。我按照我希望它们运行的​​顺序标记它们。打开测试套件#1,最喜欢的,测试套件#2喜欢的等等然后"运行所有"。工作得很好,向我展示了所有套件(以及测试)执行的总运行次数和失败次数。遗憾的是,日志似乎在每个套房都被重置了。

答案 4 :(得分:0)

您需要SeleniumRC和一些编程语言工具来编写和运行测试。 SeleniumIDE允许以多种语言(C#,JAVA,PHP,Python等)保存测试 使用你熟悉的。 还有SetUp和TearDown,很难做好测试。 Selenium IDE不允许使用这些方法。

答案 5 :(得分:0)

这应该在mainsuite中。

    public static Test suite() {
    TestSuite testSuite = new TestSuite();
    testSuite.addTest(ComponentTestSuite1.suite());
    testSuite.addTest(OtherComponentTestSuite2.suite());
    }