关于fitensse的一些问题

有一位博友问了一些关于fitnesse的问题,我以为都是不错的问题。发在本身的blog里,感兴趣的同行,能够一块儿讨论。java

 

1.    如何不让fitnesse自动把驼峰命名形式的字符串识别为一个新页面(有没有转义符之类的)web

试试单引号。由于fitnesse是基于wiki page的,你能够google一下wiki的语法。浏览器

 

2.    如何把某个路径或某个jar包定义为“全局”应用。这样就不用在每一个测试页面重复定义一遍了。框架

在fitnesse里面,有testsuite的概念,好比咱们这个工具的frontpage是这样写的:红色的是code.ide

# BasicTestSetup就是一个test suite.工具

'''Testsuites'''测试

|>BasicTestSetup|''Basic Test Setup''|ui

 

# 定义class pathgoogle

----spa

'''Classpath'''

!path fitnesse*.jar

!path ./lib/*.jar

 

# 定义全局变量

----

'''Definitions'''

!define TEST_SYSTEM {slim}

 

!define BROWSER_TO_TEST {Internet Explorer}

!define START_URL {localhost:8080}

 

另外,每一个testsuite里面有setup page和teardown page.你能够把一些初始化这个test suite的东西放到setup page里面去。对于clean up的东西,好比关闭浏览器这个的操做放到tear down page。Set up page和teardown page是会被这个suite里面的每一个test case自动调用的。详细内容参见fitnesse的user guide.

 

3.    如何在fitnesse测试里使用测试数据文件(好比做为动态参数之类的)?放在哪里,如何加载,这个有经验吗?

这个涉及到框架问题了。个人经验是将测试数据放到一个page下,在test case里面include,作到测试数据和测试脚本分离。好比 test data的页面是这样的:

# InsertData这个页面里面有不少页面,每一个页面里都有测试数据,好比truck one 里面定义了一些变量。

http://localhost:82/FrontPage.BasicTestSetup.InsertData

|>TruckOne|''Truck One''|

|>TruckTwo|''Truck Two''|

 

http://localhost:82/FrontPage.BasicTestSetup.InsertData.TruckOne

!define vehicleDisplayName {rt_70_t1h_4m}

!define vehicleVin {55200004611114770}

 

我再介绍一下如何使用这个页面:include测试数据的页面

http://localhost:82/FrontPage.BasicTestSetup.SetupOtherData.SetupVehicles

!include -c .FrontPage.BasicTestSetup.InsertData.TruckOne

 

Table里面这样调用变量

!|script|pages.CreateVehiclePage|

|type display name|${vehicleDisplayName}|

|type vin|${vehicleVin}|

 

这样的设计能够很好的分离测试数据和测试代码。

 

4.你的那个示例代码我运行不成功啊,我已经引入了selenium-java-2.31.0.jar ,且import 以下类:

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebDriverBackedSelenium;

import org.openqa.selenium.firefox.internal.ProfilesIni;

import org.openqa.selenium.firefox.*;

import org.openqa.selenium.ie.InternetExplorerDriver;

import com.thoughtworks.selenium.*;

编译经过,但执行异常。是否是还须要哪些文件?

 

呵呵,我那个示例代码颇有可能不成功,只是一个示例。由于咱们在selenium的基础上,定义了一些本身的类。其中最主要的就是Browser这个类了。这部分是由其余开发作的,我也只是使用而已。代码是不能公布的,由于公司有security policy。我只能提供思路,咱们把webdriver,和selenium这两个类都包含到Browser这个类中,做为成员。而后定义了一些方法,好比打开浏览器等等。

相关文章
相关标签/搜索