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

cucumber马文试验

尤茂材
2023-03-14

@使用TestNG在cucumber中执行@Test后,BeforeMethod未执行

我已经将maven与cucumber集成,并使用TestNG编写了脚本。我在pom中添加了必要的依赖项。xml当我执行脚本@BeforeMethod在执行@Test之后不起作用时,你能告诉我是否支持TesNG注释吗?。你能在这方面给我指点迷津吗。

转轮类:

package Maveneditinv;


import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;


@CucumberOptions(features="Editfeaturefile"  , glue = {"Stepdefinition"} , tags={"@SmokeTest , @FunctionalTest"} )
public class learn_cucmber_invTest  extends AbstractTestNGCucumberTests {





}

步骤定义:

public class logininv {

    public static WebDriver d;
    JavascriptExecutor jse;


    @Test(priority =1, enabled = true)
    @When("^user enters duplicates email id in add new client corresponding error messages should be thrown$")
      public void addclient1() throws InterruptedException {
          Cliendaddimage obj3 = PageFactory.initElements(d, Cliendaddimage.class);
          obj3.img1();
          obj3.clientdetails("TQ 71", "TQ 71", "test.igs1@gmail.com", "test.igs1@gmail.com" , "test.igs@yahoo.com");
          Thread.sleep(5000);
          jse = (JavascriptExecutor)d;
          jse.executeScript("window.scrollBy(0,1000)");
          Thread.sleep(5000);
          obj3.updateclick();
          obj3.payterm("Term 12");
          jse = (JavascriptExecutor)d;
          jse.executeScript("window.scrollBy(0,1000)");
          obj3.updateclick1();


      }



    @Test(priority=2, enabled = true)
      @When("^Should select client from drop-down and updated$")
        public void selectclientfromdrpdown1() {

          Clientdropdown1 obj4 = PageFactory.initElements(d,Clientdropdown1.class);
          obj4.clientdrp1("VK 03");
          jse = (JavascriptExecutor)d;
          jse.executeScript("window.scrollBy(0,1000)");
          obj4.clientdrp2();

      }




      @BeforeMethod
        @When("^user clicks on edit invoie link$")
        public void i_click_on_edit_invoice_link() throws InterruptedException{

                                              Thread.sleep(5000);
                                                          manageinv obj1 = PageFactory.initElements(d, manageinv.class);
                    obj1.editinvoices();

        }



    @BeforeClass
    @When(value="I enter username and password")
    public void Open_handdy_login_page() throws Throwable {
        System.setProperty("webdriver.gecko.driver", "D:\\Selenium jars\\Selenium jar new\\geckodriver.exe");
          d = new FirefoxDriver();


    }

期望:@before方法应该在每个@Test之后执行

实际:@Beforemethod在执行@Test后不工作

共有1个答案

公冶峰
2023-03-14

您在步骤上有错误的@Test注释,因为它们是步骤而不是测试!cucumber测试不是这样写的。cucumber是测试用小cucumber编写的跑步者。本教程将帮助您理解。您的bdd应该如下所示:

Scenario: name of scenario
Given I enter username and password
When user clicks on edit invoie link
Then Should select client from drop-down and updated

然而,如果你想使用不同于TestNG的监听器,你应该使用QAF,它是TestNG的扩展。

 类似资料:
  • 我正在用TestNG运行cucumber。CucumberRunner类扩展了AbstractTestNGCucumberTests,CucumberRunner类在testng.xml文件中指定。 如果我使用TestNG.xml运行一个简单的TestNG类,那么TestNG结果的输出将显示在控制台中,即测试运行、失败、跳过的总数,如下所示:- test.java 如何用Cucumber在控制台中

  • 我试图运行Maven的两个cucumber功能文件,但什么也没发生。我用的是荷兰版的小cucumber。当我直接在Eclipse或Gradle中运行功能文件时,它们运行良好。我在Stackoverflow上研究了所有关于这个问题的早期问题,但仍然找不到解决方案。 这是我在Eclipse中的项目结构:Eclipse项目结构 使用命令mvn Test与Maven一起运行项目的结果是: 我还尝试使用:“

  • 1.自我介绍 2.面试关根据简历问的问题,各个项目都问了一遍,不管是不是和测试相关的 3.这个项目问的都是很细的,会问具体的一个流程 4.问完我项目之后,问的我课题的方向 5.然后问我postman和jmeter有没有用过(因为我简历写过了) --用过 6.最后反问

  • 1、 笔试上机考; 2、面试英语回答问题,case主要内容是说A和B公司的比较(线上销售公司),以及A和C公司的比较,说到媒体的作用,电影院的推广,A和C公司的优劣吧,存在竞争者等等,我也看不太懂case感觉整组表现也不太好, 讨论问题第三个都没有解决完,总结第二个都没有总结完。群面不用英文,不用紧张。群面通过之后会有1对1合伙人单面,我失败在了这一步。我的经验是:如果想进四大还是早做准备,我既没

  • 我在运行maven命令“mvncleanfirify”时遇到以下错误。我已经将“feature”文件放在了“C:/Users/304090/eclipseworkspace/evms-qa-testautomation/src/test/resources/”中。但是,它无法识别该文件。请建议。 文件夹结构:

  • 在我的项目中,我使用的是Mavencucumber测试。 我有个试跑员 对于 jenkins 上的日常运行,我使用特定功能“mvn clean test -s -Dcucumber.filter.tags=”tag_from_feture_file“”。一切正常。 但是,有时我需要执行不包含在Jenkins中的小测试,它们不在功能文件中写入。例如: 问题是 - 当我将带有注释 (@Test) 的测