Tag: jbehave

multithreadingJBehave日志记录混乱

虽然很清楚如何配置multithreadingjBehave运行, 我不清楚如何处理伐木乱七八糟。 这里有什么选择?

从0.7升级到0.8.1.1后生成嵌入式kafka队列时出错

我找不到任何可以直接处理我所遇到的问题的东西,所以我在这里发帖。 我有JUnit / JBehave测试,它们启动了嵌入式ZooKeeper服务器,嵌入式Kafka服务器以及kafka生产者和消费者。 将kafka从0.7升级到0.8.1.1后,我遇到以下类型的错误: ERROR [kafka-request-handler-5] state.change.logger – Error on broker 1 while processing LeaderAndIsr request correlationId 7 received from controller 1 epoch 1 for partition [topicName,8] java.lang.NullPointerException: null at kafka.log.Log.(Log.scala:60) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.log.LogManager.createLog(LogManager.scala:265) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition.getOrCreateReplica(Partition.scala:90) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition$$anonfun$makeLeader$2.apply(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition$$anonfun$makeLeader$2.apply(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) ~[scala-library-2.10.4.jar:na] at kafka.cluster.Partition.makeLeader(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.server.ReplicaManager$$anonfun$makeLeaders$5.apply(ReplicaManager.scala:305) ~[kafka_2.10-0.8.1.1.jar:na] at […]

导致Maven / JBehave错误的原因是什么?

我有一个产生Mule连接器的Maven项目。 它基本上是一个shell,所以我开始使用JBehave添加一些BDD测试。 我添加的第一个测试很少: public class FakeSteps extends Embedder { @Given(“I have something”) public void iHaveSomething() { System.out.println(“Have something…”); } @When(“I do something”) public void iDoSomething() { System.out.println(“Doing something…”); } @Then(“we are ok”) public void weAreOk() { Assert.assertTrue(“FAILURE!!!!!”, true); System.out.println(“We are ok.”); } } 如果我在IntelliJ中运行测试,它就会通过。 当我执行“mvn clean install”时,测试不会抛出错误,但是由于“org.apache.log4j.Priority”中的exception,构建失败: … Have something… Doing something… We are ok. […]

在JBehave中使用多个元filter进行过滤

情况: 在我目前的项目中,我们正在运行各种不同的JBehave故事。 每个“.story”文件都与产品和流程相关。 例: xyz-cellphone-call.story将描述用手机拨打电话的故事。 xyz-phone-call.story将描述用固定电话拨打电话的故事。 xyz-cellphone-browse.story将描述用手机浏览互联网的故事。 我的问题:在Jbehave中,你可以添加metaFilters来过滤基于元标记的故事。 假设标签是@product和@action。 (@product手机,@ action电话)。 是否有可能通过一个filter来运行有关手机和手机故事的JBehave故事,如果是,那么语法是什么? 我尝试添加以下filter(没有一个工作): +product cellphone +product phone +product cellphone|phone +product cellphone,phone 行动相同。 是否可以过滤多个元标记?

Jacoco测试覆盖率报告显示0%

我必须从不同的代码库执行业务测试时获取应用程序的代码覆盖率。 我使用:Maven作为我的构建Jbehave作为我的测试框架。 测试是用java编写的。 我的应用程序是在tomcat上部署的一组war文件。 应用程序代码库与测试代码库分开。 在获得报道时,我遵循以下步骤。 1使用maven编译测试代码。 2将应用程序类从它构建的位置($ {app.code.dir} / target / classes)复制到$ {test.code.dir} / target / classes [3]通过maven运行测试和jacoco报告 mvn版本:我保留了 coverage false org.jacoco jacoco-maven-plugin 0.6.3.201306030806 default-prepare-agent process-resources prepare-agent false ${basedir}/target/jacoco-coverage.exec default-report post-integration-test report <!– true –> com/mytest/bdt/** com/mytest/bdd/** ${basedir}/target/jacoco-coverage.exec 使用以下命令执行jbehave测试: org.jbehave jbehave-maven-plugin ${jbehave.core.version} log4j log4j 1.2.16 unpack-view-resources process-resources unpack-view-resources embeddable-stories test ${embeddables5} true true 1 […]

额外的记录JBehave

场景是这样的: 我们使用JBehave和Selenium进行系统,集成和端到端测试。 我正在检查超过20个值的页面上的计算结果以进行validation。 使用Junit断言整个测试将在其中一个值不正确的第一个实例上失败。 我想要做的是,如果一个断言失败,那么测试继续执行,这样我就可以在一次测试运行中整理所有不正确的值,而不是多次测试运行。 为此,我捕获断言并将未通过validation的任何内容写出到日志文件中。 这给我留下了几个问题: 1)我写出断言失败的日志文件不包含发生exception时正在运行的JBehave Story或Scenario的名称。 2)JBehave Story或Scenario被列为’通过’,我希望它被列为’失败’。 有没有办法可以将Story和Scenario的名称记录到附加日志文件中,或者将其他日志记录写入JBehave日志文件? 如何将Story / Scenario标记为失败? 在JBehave配置中,我有: configuredEmbedder() .embedderControls() .doIgnoreFailureInStories(true) .doIgnoreFailureInView(false) .doVerboseFailures(true) .useStoryTimeoutInSecs(appSet.getMaxRunningTime()); 和 .useStoryReporterBuilder( new StoryReporterBuilder() .withDefaultFormats() .withViewResources(viewResources) .withFormats(Format.HTML, Format.CONSOLE) .withFailureTrace(true) .withFailureTraceCompression(true) .withRelativeDirectory(“jbehave/” + appSet.getApplication())

Selenium WebDriver选择combobox项目?

我们正在使用Selenium WebDriver和JBehave在我们的网络应用程序上运行“集成”测试。 我有一个方法将值输入表单输入。 @When(“I enter $elementId value $value”) public void enterElementText(final String elementId, final String value) { final WebElement webElement = webdriver.findElement(By.id(elementId)); webElement.clear(); webElement.sendKeys(value); } 但是,当我尝试使用它来选择下拉列表中的项目时(不出所料)会失败 java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值 如何在组合中选择一个值?

一步一步的JBehave设置教程非常简单?

虽然我已经阅读了许多关于如何使用JBehave的文章,但我无法让它工作。 这是我到目前为止所经历的步骤: 创建了新的Java Project 下载了JBehave JAR文件版本3.6.8并将其添加到我的构建路径库中 在我的工作区中的测试源文件夹下创建了一个名为com.wmi.tutorials.bdd.stack.specs的包 将JBehave JAR文件添加到我的构建路径库配置中 在上述包中创建了一个JBehave故事(StackBehaviourStories.story) 在上面提到的包(StackBehaviourStory.java)中创建了一个Java类 在上面提到的包(StackBehaviourSteps.java)中创建了一个Java类 导入了我的Java类中的Given,Named,Then,When annotations 在我的JBehave故事文件中写了两个不同的场景 仍然,我无法让它工作/运行! =( 故事档案: Narrative: In order to learn to with JBehave using Eclipse As a junior Java developer though senior in .Net and in BDD I want to define the behaviour of a custom stack Scenario: I push an item […]