我正在处理投放管道。我想在其中集成多个测试自动化框架。其中一个是Fitnesse。在Web上,我看到许多使用wikiserver测试Java类的示例。但我不知道的是,是否可以测试一个简单的(jsp)登录表单。此外,我想在Juni测试中开始此测试,而无需安装wikiserver。只需添加Fitnesse maven依赖性。
有没有人能给我一个如何做到这一点的例子?
谢谢!
答案 0 :(得分:2)
您的问题似乎有两个方面:
从您的问题来看,我是否已经设法编写您正在寻找的测试并不是很清楚。就像你的问题评论中提到的那样:FitNesse本身并不提供任何直接测试网络表单的方法。您需要编写自己的代码来将wiki连接到要测试的网页(夹具)或使用包含此类夹具的库。
要在交付管道中运行FitNesse测试,例如jUnit测试,您可以编写带有RunWith
注释的jUnit测试,然后指定FitNesse' s FitNesseRunner
。类似FitNesse's own tests下面的测试:
package fitnesse.junit;
import org.junit.runner.RunWith;
@RunWith(FitNesseRunner.class)
@FitNesseRunner.Suite("FitNesse.SuiteAcceptanceTests.SuiteSlimTests.TestScriptTable")
@FitNesseRunner.FitnesseDir(".")
@FitNesseRunner.OutputDir("./build/fitnesse-results")
public class FitNesseRunnerTest {
}
我创建了一个(open source) project,其中包含两个灯具以使用网络登录表单(通过浏览器,使用Selenium,或直接将http POST发送到服务器)并运行您定义的测试在构建服务器的wiki中(提供jUnit测试,您可以通过添加系统属性来配置该测试以运行特定的测试/套件)。因此,如果您还没有设置,那可能是一个很好的起点。
使用该项目,登录表单测试(例如名为MyTests.LoginTest)可能如下所示:
|script|browser test|
|open|https://example.com/myprofile|
|enter|johndoe|as|Username|
|enter|secret|as|Password|
|click|Login|
|check|value of|Firstname|John|
|check|value of|Lastname|Doe|
运行测试的调用(使用Maven),它将嵌入你的管道中:
mvn clean test-compile failsafe:integration-test -DfitnesseSuiteToRun=MyTests.LoginTest -DseleniumGridUrl=http://${SAUCE_USERNAME}:${SAUCE_ACCESS_KEY}@ondemand.saucelabs.com:80/wd/hub -DseleniumCapabilities="browserName:chrome,platform:Windows 7,screenResolution:1680x1050"