Перейти к содержимому

Фотография

Как использовать переменную logger из метода setUp в методе @Test Logi

java selenium extentreport

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Shroet

Shroet

    Новый участник

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Великохатский Анатолий


Отправлено 26 декабря 2016 - 18:30

Как использовать переменную logger из метода setUp в методе @Test Login?Как использовать переменную logger из метода setUp в методе @Test Login?

 

public class Twotests {


    private static WebDriver driver;
    
   @BeforeClass
    public static void setUp(){


  ExtentReports logger = ExtentReports.get(Twotests.class);
     logger.init ("D:\\Програмирование\\report\\newreport.html", true); 
     
        System.setProperty("webdriver.chrome.driver", "D://Програмирование//ChromeDriver//chromedriver.exe");
        driver = new ChromeDriver();


    } 


    @Test
    public static void Login() throws InterruptedException{
     
     
     logger.startTest("TC1");
     
     driver.manage().window().maximize();
        driver.get("https://admin-qa.wtwbenefitsmarketplacefsa.com/Auth/SignIn");
        Thread.sleep(2000);
        logger.log(LogStatus.INFO, "Portal is open");..............  }

 

Прикрепленные файлы

  • Прикрепленный файл  1.png   350,67К   1 Количество загрузок:

  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 26 декабря 2016 - 18:47

хм, через Dependency Injection?


  • 0

#3 sergueik

sergueik

    Постоянный участник

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 26 декабря 2016 - 22:01

сделать logger переменной класса см. напр. https://examples.jav...ogging-example/

 

public class Twotests {


    private static WebDriver driver;

private static  ExtentReports logger ;

 

 

BeforeClass
    public static void setUp(){


  ExtentReports logger = ExtentReports.get(Twotests.class);

 

...

 

@Test
    public static void Login() throws InterruptedException{
   
   
    logger
.log("!");


  • 0

#4 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 27 декабря 2016 - 07:54

сделать logger переменной класса см. напр. https://examples.jav...ogging-example/

 

public class Twotests {


    private static WebDriver driver;

private static  ExtentReports logger ;

 

 

BeforeClass
    public static void setUp(){


  ExtentReports logger = ExtentReports.get(Twotests.class);

 

...

 

@Test
    public static void Login() throws InterruptedException{
   
   
    logger.log("!");

На скрине зачем-то такой объявление закомментировано (видимо, были на то причины и такой способ не подходит)

Наиболее вероятное решение: это сделать таки переменной класса, но ThreadLocal (скорее всего именно поэтому было закомментировано)

А вообще - static - зло в классах тестов.


  • 0

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 27 декабря 2016 - 09:53

JUnit по своей идеологии не поддерживает зависимость тестов, даже видимо от своих собственных сетапов, поэтому все зависимости надо "кодить руками"

 

в TestNG это делается "одной строкой" с помощью инжекта зависимости

5.18.1 - Native dependency injection

http://testng.org/do...dency-injection

 

пример:

http://www.programcr...ng.ITestContext


  • 0



Темы с аналогичным тегами java, selenium, extentreport

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных