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
步骤类文件:
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GoogleSearchEngine {
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']/center/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();
}
}
}
然后我需要开发用于驱动故事文件的testrunner。
有人能帮助我使用TestNG框架创建一个测试运行器类文件吗?
我最近不得不做一些类似的事情,并惊喜地发现它是NBD。有关描述如何设置JBehave的示例代码,请参见我对另一个SO JBehave问题的回答。从那里,只需为您的JBehave测试创建一个testNG套件文件,如下所示:
<test name="all JBehave tests">
<packages>
<package name="com.foo.tests.jbehave.test1"/>
<package name="com.foo.tests.jbehave.test2"/>
<package name="com.foo.tests.jbehave.test3"/>
</packages>
</test>
请记住,JBehave的JUnitStory和JUnitStories使JBehave的东西看起来像JUnit的东西,所以从TestNG的角度来看,它只是运行JUnit的东西。要注意的一件事是在两者之间集成报告。
一些注意事项: 1。我最初使用的TestNG jar来自java项目中的maven repo。下面的所有方法都是用maven testNG jar和新的TestNG6.9.12下载进行测试的。 2。我可以从Eclipse中运行这个文件。只有当我尝试从命令行运行时才有问题。 3。最终目标是通过javafx应用程序按钮触发命令行来运行测试。如果提供的解决方案避免在cmd中键入绝对路径,因为应用程序将在
我试图创建一起使用JBehave和TestNG的概念验证。我想做的是在多个线程中同时运行一个故事,以测试我的代码的线程安全性。 我有一个简单的类,它只做一件事,在给定的整数值上计算模7。我已经为这个类创建了一个简单的BDD测试。我已经按照JBehave“入门”文档中的描述设置了BDD测试。唯一的区别是,在我的JUnitStory文件中,我没有使用JUnit的@Test注释,而是使用了TestNG的
我试图通过testng运行简单的Cucumber/Java测试。xml。 所以,我有testng。xml: 我用的是runner。类,在其中我将路径/选项/etc设置为功能文件、步骤和报告: 但是当我运行testng时。xml作为TestNG套件,它: 1) 通过我自己的设想, 但是 我做错了什么?
默认情况下,我是这样运行故事测试的:**/*。故事路径中的故事 但是我不需要运行所有的故事,也不需要运行特定的故事,我需要运行特定的套件(包含所有测试的特定文件夹)。 在< code>SuiteTest**1**和< code>SuiteTest**2**中有不同的测试,我必须在不同的时间运行它们。 试图运行: 但这不起作用,它找不到故事。。。。。 提前感谢您的任何帮助。
我已经用maven和testNG配置了eclipse,用我的pom配置了PF。xml如下: 我是runnong,在命令提示符下点击这个目录:D:\EclipseWorkspace\iON27Feb2013\iONAutomation\common 我的cmd控制台显示:
我有一个TestNG XML,格式如下: 这个套件有两个类,每个类都有一些@Test方法。现在我想让我的套件以同样的顺序再运行3次,就像它运行一样,即所有的class1方法,然后是class2方法。我怎样才能做到这一点?我正在使用Selenium WebDriver和核心Java来运行我的自动化套件。