Fitnesse登录测试

时间:2017-05-12 05:26:15

标签: java junit automated-tests jenkins-pipeline fitnesse

我正在处理投放管道。我想在其中集成多个测试自动化框架。其中一个是Fitnesse。在Web上,我看到许多使用wikiserver测试Java类的示例。但我不知道的是,是否可以测试一个简单的(jsp)登录表单。此外,我想在Juni测试中开始此测试,而无需安装wikiserver。只需添加Fitnesse maven依赖性。

有没有人能给我一个如何做到这一点的例子?

谢谢!

1 个答案:

答案 0 :(得分:2)

您的问题似乎有两个方面:

  • 如何为登录网页编写FitNesse测试,并且:
  • 如何在交付管道中运行此测试(我希望它在其中充当 jUnit test)

从您的问题来看,我是否已经设法编写您正在寻找的测试并不是很清楚。就像你的问题评论中提到的那样: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"