как передать значение экземпляра из одного класса в другой класс, содержащий тестовый аннотированный метод - PullRequest
0 голосов
/ 02 апреля 2020

Class1 -UIHandler1. java

public WebDriver Assettype_dropdown(WebDriver driver,WebElement dropdown,String name) throws InterruptedException {
        wait_until_clickable(driver,dropdown,120);
        dropdown.click();
        search.click();
        search.sendKeys(name);
        insearchesult2.click();
        view_btn.click();
        return driver;
    }

    public WebDriver result_verification(WebDriver driver,String APIR,String msg) throws InterruptedException
    {
        Thread.sleep(5000);
        search_view.sendKeys(APIR);
        assertEquals(driver,table_data,APIR,msg);
        return driver;
    }

Class 2 testng class

public class cucumbermain extends AbstractTestNGCucumberTests {
    public static WebDriver driver;
@AfterMethod() //AfterMethod annotation - This method executes after every test execution
         public static void screenShot(ITestContext context){
         //using ITestResult.FAILURE is equals to result.getStatus then it enter into if condition
     if(ITestResult.SUCCESS==result.getStatus()){
         try{

    // To create reference of TakesScreenshot

         TakesScreenshot screenshot=(TakesScreenshot)driver;
         // Call method to capture screenshot
         File src=screenshot.getScreenshotAs(OutputType.FILE);
     // Copy files to specific location 
         // result.getName() will return name of test case so that screenshot name will be same as test case name
         FileUtils.copyFile(src, new File("D:\\"+result.getName()+".png"));
         System.out.println("Successfully captured a screenshot");
         }catch (Exception e){
             System.out.println("Exception while taking screenshot "+e.getMessage());
         }
         } 
         }

Здесь у меня есть передать значение драйвера, возвращенное из ** UI Handler1. java, в После метода в main огурца. Драйвер в классе UIHandler получен из другого класса тестирования, который содержит информацию о классе теста I Не удалось сохранить значение драйвера в тестовом методе After из другого класса **

Ошибка Iam:

Исключительная ситуация при создании снимка экрана null Запись действия снимка экрана

1 Ответ

0 голосов
/ 04 апреля 2020

Чтобы сообщить о результатах и ​​сделать снимок экрана по проекту Cucumber, вам нужно использовать крючки огурца, а не тестировать аннотации, способ, которым вы используете, сбивает с толку. Подробнее о хуках читайте здесь.

И если вы пытаетесь что-то предпринять в случае сбоя, вы можете создать слушателей, которые реализуют несколько тестирующих слушателей, попробуйте это .

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