Огурец + мавен + тестНГ - PullRequest
       10

Огурец + мавен + тестНГ

0 голосов
/ 08 января 2019

@ BeforeMethod не выполняется после выполнения @Test в огурце с TestNG

Я интегрировал maven с огурцом и написал скрипт, используя 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();


    }

Ожидание: @Beforemethod должен выполняться после каждого @ теста

Факт: @Beforemethod не работает после выполнения @ Test

1 Ответ

0 голосов
/ 10 января 2019

У вас неправильные @Test аннотации на шаге, так как они являются шагом, а не проверкой! Это не так, как написано тест на огурец. Огурец - бегун для теста, созданный в Gherkin. Этот учебник поможет вам понять. Ваш 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...