当前位置: 首页 > 知识库问答 >
问题:

我怎么能在cucumber,测试中分离公共步骤类和步骤定义类?

尉迟国发
2023-03-14

我想问一下,我是否有步骤定义类GithubHomePageSteps。与功能文件相对应的java。功能和通用步骤类CommonSteps。java在同一个名为steps的包中,那么如何运行测试用例。

在这里,在公共步骤类中,我说了setUp()中的chrome驱动程序初始化,以及清洁()中退出chrome驱动程序方法。我已经将@BeforeSuite和@AfterSuite注释分别放在setUp()和Clear()之前。

我还创建了testng。xml(我在其中包括了这两个类CommonSteps和GitHubHomePageSteps)和TestRunner类,它们都包含在一个名为runner的包中。当我尝试使用testng运行测试时。xml文件作为TestNg套件运行,我得到TestNgeException无法实例化类GithubHomePageSteps。有人能帮我吗?

testNg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test thread-count="5" name="Test">
    <classes>
      <class name="steps.GithubHomePageSteps"/>
      <class name="steps.CommonSteps"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

TestRunner.java:
package runner;

import org.testng.annotations.Test;

import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;

@CucumberOptions(
        features = {"src/test/resources/features"},
        glue = "steps",
        plugin = {"pretty", "json:target/json-report/cucumber.json"},
        dryRun = false,
        monochrome = true
)

@Test
public class TestRunner extends AbstractTestNGCucumberTests {

}

共有1个答案

邬友樵
2023-03-14

只需在glue中添加步骤定义类,如下所示:

glue={“com/arb/aut/Login/StepDefinitions”、“com/arb/aut/Dashboard/StepDefinitions”、“com/arb/aut/Cards/StepDefinitions”、“com/arb/aut/Hooks”}

 类似资料:
  • TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件

  • 问题内容: 我想从Java中的“ AbstractBase_step”类扩展。所以我想有一个像这样的钩子: 每个步骤文件都会被调用: 当我这样做时,我得到 cuming.runtime.CucumberException:不允许扩展定义“步骤定义”或“挂钩”的类。Hello_Steps类扩展了AbstractBase_Steps类 有人为此有把戏吗? 编辑:为了重用相同的步骤定义,我创建了一个新的

  • 我不能为一个项目用cucumber执行简单的测试。我在Intellij13社区,使用cucumber插件。 我在features目录中编写了我的features文件,我还通过插件实现了创建它们的步骤。intellij可以识别功能文件中的我的步骤,它可以导航并转到步骤实现。当我尝试运行我的场景时,if无法声明“未定义的步骤”。任何帮助都将不胜感激。 以下是我如何组织我的项目:

  • 我今天将我的serenity和cucumber测试升级到2.6.0 en cucumber 6版本。只需要更改大量程序包,并且功能文件的步骤不再链接到步骤定义。如果我的cucumberrunner的设置 但是,如果我在功能文件中查看intellij,您将无法再单击步骤以转到定义。当我运行功能文件时,我会得到以下异常: 我不确定是什么地方出了问题,因为相同的代码适用于以前的版本

  • 自从我升级到最新的社区版IntelliJ 15.0.3以来,每当我使用alt-enter从功能定义文件自动生成步骤定义时,它都会以驼峰大小写而不是带下划线的常规样式创建方法。 例如,它过去是这样生成的 但现在它产生了通常的camelCase惯例: 有没有办法把这个设置改回第一种样式? 谢谢

  • 我有一个cucumber框架,它满足API和UI功能文件的需求。所以,我有两个特性文件,一个用于API,另一个用于UI。类似地,我在步骤定义文件夹中创建了两个类,一个用于UI,另一个用于API。结构如下所示: 文件列表 --API的功能文件 --UI的功能文件 分步定义 --斯特普德法皮 --斯特普德菲 测试者 --UITestRunner ############################