Java Fitnesse登录测试

Java Fitnesse登录测试,java,junit,automated-tests,jenkins-pipeline,fitnesse,Java,Junit,Automated Tests,Jenkins Pipeline,Fitnesse,我在做一条输送管道。我想在其中集成多个测试自动化框架。其中之一是Fitnesse。在web上,我看到许多使用wikiserver测试Java类的示例。但我不知道是否有可能测试一个简单的(jsp)登录表单。此外,我还想从JUnit测试中启动此测试,而无需安装wikiserver。只是增加了Fitnesse maven的依赖性 有没有人能给我举个例子说明如何做到这一点 谢谢 你的问题似乎有两个方面: 如何为登录网页编写FitNesse测试,以及: 如何在交付管道中运行此测试(我希望它充当 jUni

我在做一条输送管道。我想在其中集成多个测试自动化框架。其中之一是Fitnesse。在web上,我看到许多使用wikiserver测试Java类的示例。但我不知道是否有可能测试一个简单的(jsp)登录表单。此外,我还想从JUnit测试中启动此测试,而无需安装wikiserver。只是增加了Fitnesse maven的依赖性

有没有人能给我举个例子说明如何做到这一点


谢谢

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

  • 如何为登录网页编写FitNesse测试,以及:
  • 如何在交付管道中运行此测试(我希望它充当 jUnit测试)
从你的问题来看,我并不清楚你是否已经写下了你想要的测试。正如在对您的问题的评论中提到的:FitNesse本身不提供任何直接测试web表单的方法。您需要编写自己的代码来将wiki连接到要测试的网页(fixture),或者使用包含此类fixture的库

要在交付管道内运行FitNesse测试,如jUnit测试,可以使用
RunWith
注释编写jUnit测试,然后指定FitNesse的
FitnessRunner
。类似下面的测试:


我已经创建了一个包含两个装置的程序,用于使用web登录表单(通过浏览器,使用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"

请先自己尝试一些代码。正如我所说,我已经尝试了很多,编写一个Fitnesse测试来测试Java方法与wiki服务器的结合是没有问题的。但我找不到我需要的任何起点你可能想要的是硒,或者一些硒。但根据你的描述,这是Hi Fried,你是对的。这是一个双重问题。因为这对我来说是全新的,所以很难解释我到底想要什么。你的解决方案似乎正是我想要的。首先我想通过wikiserver buit运行测试,然后我得到以下消息:EXCEPTION:java.lang.NoClassDefFoundError:LoginTest(名称错误:在下一步中,我看到消息:实例scriptTableActor.open.not exist听起来您的设置还不太正确。总是有点麻烦。您是否尝试使用我的项目获取示例项目,并查看HsacExamples.SlimTests.BrowserTests下面的示例wiki页面是否适合您?请尝试修改。)正在为您的登录页面下载其中一个。还没有。不确定是否允许我在office上下载:(目前,我已经使用stand-lone.jar启动了fitnesse。这会是一个问题吗?对我来说,这是一个全新的问题。在wiki中的URL周围放置!-!或者清理您的设备中的值(我的设备使用后一种方法)我不喜欢强迫用户逃避,我喜欢可点击的网址。
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"