我从Selenium和FitNesse开始。我的目标是创建一个验收测试套件,可以在不同的浏览器中轻松运行。
起初我在Seleniums WebDriver周围写了一个很短的包装器。包装函数用于场景表,脚本表和查询表。到目前为止,一切都很好。
我的想法是创建一个名为ParameterizedSuites的wiki页面层次结构,它具有任何可能深度的子套件和测试。现在我想创建一个名为FirefoxSuite的套件,定义一个值为“firefox”的变量$ {BROWSER}并仅包含ParameterizedSuites。在ParameterizedSuites.SuiteSetUp中,将使用$ {BROWSER}实例化WebDriver实例。
但我的想法不起作用。我似乎必须单独包含每个 SetUp,TearDown,Suite和Test页面?我的想法完全错了还是我遗失了什么?
有人类似吗?
希望我的描述足够清楚,以了解情景。
亲切的问候, 岸堤
答案 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也将继承。