Fitnesse Slim + Selenium:几个浏览器的参数化套件层次结构?

时间:2012-12-16 13:04:32

标签: selenium browser fitnesse fitnesse-slim

我从Selenium和FitNesse开始。我的目标是创建一个验收测试套件,可以在不同的浏览器中轻松运行。

起初我在Seleniums WebDriver周围写了一个很短的包装器。包装函数用于场景表,脚本表和查询表。到目前为止,一切都很好。

我的想法是创建一个名为ParameterizedSuites的wiki页面层次结构,它具有任何可能深度的子套件和测试。现在我想创建一个名为FirefoxSuite的套件,定义一个值为“firefox”的变量$ {BROWSER}并仅包含ParameterizedSuites。在ParameterizedSuites.SuiteSetUp中,将使用$ {BROWSER}实例化WebDriver实例。

但我的想法不起作用。我似乎必须单独包含每个 SetUp,TearDown,Suite和Test页面?我的想法完全错了还是我遗失了什么?

有人类似吗?

希望我的描述足够清楚,以了解情景。

亲切的问候, 岸堤

1 个答案:

答案 0 :(得分:3)

我认为你想要的是SymbolicLinks。您可以使用符号链接将Wiki的子树包含在Wiki中的不同位置。

有关SymbolicLinks的更多信息,请查看您的本地用户指南或在线复制:http://www.fitnesse.org/FitNesse.UserGuide.FitNesseWiki.SymbolicLinks

执行此操作的常用方法是实际创建ParameterizedSuite,然后将其符号链接到定义配置的Pages并提供专门的SetUp和TearDown页面。这是你所描述的对象,但我认为你所做的也可以工作,前提是你使用SymbolicLinks使页面成为参数化测试的wiki结构的一部分。

FrontPage
  SuiteOne
     TestOne
  ConfigurationOne
     SetUp
     TearDown
     SuiteOneSymolicLink
  ConfigurationTwo
     SetUp
     TearDown
     SuiteOneSymolicLink

在上面的结构中,SuiteOne可以通过ConfigurationOne或ConfigurationTwo中的符号链接运行。当通过每个配置层次结构中的SuiteOneSymbolicLink运行时,ConfigurationOne或ConfigurationTwo页面中定义的变量将继承到SuiteOne。此外,Confiugration页面中的SetUp和TearDown也将继承。