2013-02-18 27 views
-2

我尝试使用FitLibraryWeb为基于Selenium的Web测试设置Fitnesse。教程测试/FitLibraryWeb.SpiderFixture.SpiderTutorial.StartingWithSpider工程(我将驱动程序从Firefox更改为Chrome,但这应该不重要),但是如果我创建了自己的测试页,它总是会中止与所述错误消息[1]无法找到夹具:fitlibrary.spider.SpiderFixture

我甚至复制了教程测试页的确切内容,以确保测试本身不包含错误。 我还需要什么来使测试页面可执行?

  • 页面类型为“测试”
  • 网址是/SandBox.MyTest

我在FitNesse UserGuide读,有始终得到包括在顶部的特殊页面,即PageHeaderSetUp用于测试。但这些都不存在:

  • /FitLibraryWeb.SpiderFixture.SpiderTutorial.StartingWithSpider.SetUp
  • /FitLibraryWeb.SpiderFixture.SpiderTutorial.SetUp
  • /FitLibraryWeb.SpiderFixture.SetUp
  • /FitLibraryWeb.SetUp

(同样为PageHeader

[1]测试页开始如下:

!define spider {''!-SpiderFixture-!''} 
!| fitlibrary.spider.SpiderFixture | 

| ''start spider with'' | chrome | 
| ''shutdown browser automatically'' | false | 

| ''get url'' | http://localhost:${FITNESSE_PORT}/FitLibraryWeb.TemplateFixture | 

回答

0

OK,我想它了... The ClassPath documentation是缺少的环节:

对于给定的SubWiki测试页面,你可以指定FitNesse的地方 它可以找到所有通过提供 所谓的ClassPath定义,它是一个完整的绝对文件路径到 包含包(在Java中)或程序集(在C#中)的目录 其中可以找到所有已编译的类。只需在您的SubWiki的主页上包含 ClassPath定义。

(由我强调)

所以,我搜索的代码,在FitLibraryWeb

!*< paths and defines 
#!path ../bin 
!path lib/fitlibraryweb-2.0.jar 
!path fitlibrary-2.0.jar 
#!path ../../fitlibrary/bin 
!path lib/*.jar 
!define TEST_RUNNER {fitlibrary.suite.FitLibraryServer} 
!define REGRACE_LINK {false} 
!define REGRACE_TOC {false} 

*! 

这些定义适用于在SubWiki所有子页面。我将它复制到我的SandBox主页面,将此页面的类型更改为Suite,现在它可以正常工作!