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

Junit Runner不运行Cumber功能

龙令
2023-03-14

当我调试它时,只有@BeforeClass配置有效-它打开浏览器并转到google。com,我也可以在控制台中看到我的功能的场景,所以Runner可以看到它。他们都说“测试被忽略”。如果我调试功能(而不是通过Runner),它们就会工作。如何从Runner运行/调试它们(一次一个)?请帮我找出错误

我的跑步者:

   package Runners;

   import com.codeborne.selenide.Configuration;
   import com.codeborne.selenide.WebDriverRunner;
   import cucumber.api.CucumberOptions;
   import cucumber.api.junit.Cucumber;
   import org.junit.BeforeClass;
   import org.junit.runner.RunWith;
   import org.openqa.selenium.WebDriver;

   import static com.codeborne.selenide.Selenide.open;
   import static com.codeborne.selenide.Selenide.sleep;


   @RunWith(Cucumber.class)
   @CucumberOptions(
    features = {"src/test/java/Features"},
    tags = {"@smokeTest#1"},
    glue = "src/test/java/Steps"

   )

   public class Runner {

       @BeforeClass
       static public void Initialization() {
           Configuration.timeout = 1500;
           Configuration.startMaximized = true;
           System.setProperty("webdriver.chrome.driver",                      
    "src\\test\\repository\\webDriver\\chromedriver.exe");
           Configuration.browser = "chrome";
           Configuration.savePageSource = false;
           Configuration.holdBrowserOpen = false;

           open("https://www.google.ru");


           Configuration.savePageSource = false;

       }


   }

共有2个答案

夏法
2023-03-14

根据@grasshopper在评论中的建议,胶水选项应为包格式。

E、 g:如果您的步骤定义直接位于src/test/java/steps下,您应该使用:

@CucumberOptions(features = {"src/test/java/features"}, glue = {"steps"})

换句话说,如果你的步骤定义在多个包下(例如:src/test/java/your.package.steps),你应该有这样的东西:

@CucumberOptions(features = {"src/test/java/features"}, glue = {"your.package.steps"})
孙震博
2023-03-14

不过,愚蠢但快速的解决方法,创建一个像@WIP这样的新标签,并将其用于您唯一的场景。要解决您的问题,请通过运行来验证您的运行配置

 类似资料:
  • 我有一个这样的运行测试类。 我有4个cucumber功能文件在src/test/资源/功能。当我尝试运行此测试(4个cucumber功能)时,我得到了错误: 我试着给Cucumber选项一个完整的路径,但效果不太好。有人能帮我吗?非常感谢。

  • 我有一个Maven/SpringBoot2.3。3应用JUnit 5和Cucumber(v6.5.1)测试。 问题是,我可以通过Maven运行OK单元测试和集成测试,但它不运行Cucumber。 cucumber赛跑者: Cucumber Spring上下文配置: 步骤: 我在Maven pom中使用Surefire和故障保护。xml:https://github.com/danieldestro

  • 问题内容: 我的问题与jQuery方法有关。我无法使用成功参数。 这有效: 这不是: 在第一种情况下,我得到一个JavaScript警报窗口,该窗口使我知道调用的函数正在工作。我在第二个代码块中所做的所有更改都放在了。 这样做的目的是验证$ .ajax是否正在运行,以便在$ .ajax成功运行时可以在其中放置一些实际有用的代码。 问题答案: 在第二个示例中,除非您从服务器成功回电,否则将不会发生任

  • 我有一个cucumber步骤类,我试图为所有场景初始化一个页面模型。所以我添加了一个@Before注释方法: 然后我有一堆依赖于设置loginPage的步骤。例如 我有多个步骤类。上述两种方法都在同一步骤类中。但是,loginPage始终为空。从未调用BeforeSceenario方法。我是否完全误解了@Before的作用?关于如何获得我想要的工作有什么建议吗? 编辑:我还有一个@After注释方

  • cross-env node_env=development node_modules/webpack/bin/webpack.js--progress--hide-modules--config=node_modules/laravel-mix/setup/webpack.config.js /users/xwu33/src/bioproc/node_modules/webpack-cli/bi

  • 我想知道是否有人知道一种很好的方法,可以使用Capybara/Browserstack/Cucumber按顺序启动各个浏览器堆栈测试。 我在使用Capybara时遇到了一些问题,因为browserstack不会在每次运行时都使用我的新功能进行更新,即使我关闭了浏览器,也不会更新,即:两次测试在browserstack中顺序启动,但使用相同的浏览器和操作系统设置。 摘要场景:运行登录测试假设我想测试