SKu*_*mar 5 java bdd testng jbehave
目前我们正在使用TDD和规划来使用Jbehave迁移到BDD.我只是做了一些谷歌搜索,无法找到任何与Jbehave testNG的网站.我刚刚浏览了Jbehave官方网站,我了解到可以将jbehave库与任何类型的单元测试工具(如TestNg,Junit)集成.但我没有找到任何实际代码的示例代码.我期待一些专家的以下步骤:
- 如何使用Jbehave + TestNG创建一个简单的java文件.
在用Jbehave实现之后是否可以使用TestNG的所有功能(例如,注释.OmerClass,afterClass,BeforeSuite,AfterSuite)
如何通过TestNG.xml文件运行Jbehave要素文件/类.
如何在Jbehave中集成自定义测试报告?
我真的不期待任何实际的例子或工作代码.我只想了解概述之旅,以及一些实现此任务的输入.
它真的很有用如果有人分享链接,而且非常基本的代码让我更加清楚.
到目前为止我尝试了以下事项:
功能文件:
Scenario: Check the google search engine
Given : Open the google home page www.google.com
When : Enter test automation in search box
Then : Proper result should be displayed in results page
Run Code Online (Sandbox Code Playgroud)
测试步骤类文件:
public class GoogleSearchEngine_Steps {
public static WebDriver driver;
@Given("Open the google home page $url")
public static void openUrl(String url) throws Exception {
try {
driver = new FirefoxDriver();
driver.get(url);
} catch (Exception ex) {
ex.printStackTrace();
}
}
@When("Enter $searchKeyword in search box")
public static void searchKeyword(String searchKeyword) throws Exception {
try {
driver.findElement(By.xpath(".//*[@id='gs_htif0']")).sendKeys(searchKeyword);
driver.findElement(By.xpath(".//*[@id='tsf']/input[1]")).click();
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Then("Proper result should be displayed in results page")
public static void result() throws Exception {
try {
driver.quit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
但坚持使用TestNg创建一个测试运行器类文件.我不确定如何开始.
有人可以帮我创建一个测试运行器类文件,它将执行上面的代码.
我阅读了一些材料,但我没有足够的时间阅读所有这些材料,并实施如果有人帮助我,我将非常感激.
使用 TestNG 运行的快速修复方法是使用 TestNG @Test 注释来注释根 JUnitStory/Stories 类中的 run() 方法:
Run Code Online (Sandbox Code Playgroud)public class YourStory extends JUnitStory/Stories { @org.testng.annotations.Test public void run() throws Throwable { super.run(); } }请注意,这只是运行故事的一种方法,如果您使用其他基于 Embedder 的方法,则需要更改相应使用的测试注释。
您可能想要使用JBehave 的注释而不是 TestNG 的注释,因为您将运行故事和场景而不是类和套件。正如您所看到的,一个故事(多个场景)被视为一个测试,如果您考虑背景等因素,这是有意义的。
由于 TestNG 将一个故事视为一项测试,因此我看不出有任何理由不选择它。试一试。
测试报告请再次查看JBehave的文档。它允许注入自定义记者。
话虽如此,但不要放弃 TDD。理想的情况是拥有一些遍历整个系统的高级场景、更多的集成测试以及绝对大量的单元测试。
例如,如果您有一个表单需要验证,只需举几个示例来说明如何引导用户填写表单。通过为验证类创建单元测试来检查其余的验证。(您仍然可以将它们视为示例,并将给定/何时/然后放在注释中,但对于技术受众的测试来说,使用 JBehave 是多余的。)
| 归档时间: |
|
| 查看次数: |
3647 次 |
| 最近记录: |