1

我是自动化新手,正在尝试使用 selenium 和 jbehave 自动化我们的一些 UI 测试用例。基本测试似乎工作正常。现在我有一个包含 2 个场景的故事文件,每个场景都有在多个文件中定义的步骤。当我运行这个测试用例时,它会显示。

测试被忽略。测试被忽略。测试被忽略。测试被忽略。测试被忽略。[pool-1-thread-1] 信息 net.serenitybdd.core.Serenity - 测试未决

我在这里看到了一个类似的问题,但没有答案。谁能帮我这个?

Serenity-bdd:版本 1.1.36

更新:我的文件夹结构就像 test java/... accounts steps AccountsSteps UserSteps test AccountsTest AccountTest UserTest resources/... accounts test accounts_test.story user_test.story

这是我的 JUnitStory 测试类。这会查看步骤文件 AccountsSteps 并正确执行它。

@RunWith(JUnitReportingRunner.class)
public class AccountsTest extends JUnitStory {
    private WebDriver driver = new FirefoxDriver();

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryLoader(new LoadFromClasspath(this.getClass()))
                .useStoryReporterBuilder(new StoryReporterBuilder()
                        .withReporters(new MyStoryReporter())
                        .withDefaultFormats().withFormats(StoryReporterBuilder.Format.CONSOLE, StoryReporterBuilder.Format.HTML, StoryReporterBuilder.Format.STATS));
    }

    @Override
    public InjectableStepsFactory stepsFactory() {
        return new InstanceStepsFactory(configuration(), new AccountsSteps(driver));
    }
}

我尝试使用 SerenityStories 添加如下所示的类,该类将查看帐户/测试下的所有故事

@RunWith(JUnitReportingRunner.class)
public class AccountTest extends SerenityStories {

    public AccountTest() {
        findStoriesIn("**//accounts/test");
    }
}

控制台显示该文件夹中的所有故事/场景,但将所有测试显示为已忽略。

4

2 回答 2

0

检查构建日志/控制台输出中是否存在“待定”一词。您可能有尚未实施的步骤。

如果是这种情况,您将收到一条有用的消息,向您展示该方法的外观,例如:

You can implement missing steps with the snippets below:

@Given("^I am landing page$") public void i_am_landing_page() throws Throwable {
     // Write code here that turns the phrase above into concrete actions
     throw new PendingException(); 
}
于 2016-08-17T08:05:48.377 回答
0

您必须将 stepdefinitions 路由指示为以下代码

import cucumber.api.CucumberOptions;
import cucumber.api.SnippetType;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(
    plugin = {"pretty"},
    features = "src/test/resources/features",
    glue = "stepdefinitions",
    snippets= SnippetType.CAMELCASE     )
public class CucumberTestSuite {
}
于 2020-07-12T17:31:41.907 回答