Как настроить xml-файл log4j при параллельном запуске тестов на сетке селена с использованием dataprovider (тесты dataprovider выполняются параллельно) - PullRequest
0 голосов
/ 16 октября 2018

Я разработал фреймворк, управляемый ключевыми словами, и могу запустить его параллельно на сетке селена с помощью провайдера данных (я настроил его для чтения всех тестовых случаев в провайдер данных, а затем я использую атрибут parallel = true и поставщик данных-thread-count в testng).

Я использую log4j2 для ведения журнала.Ниже приведен файл конфигурации log4j2.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
  <Property name="basePath">./logs</Property>
</Properties>

  <Appenders>
      <RollingFile name="File" fileName="${basePath}/output.log" filePattern="${basePath}/output-%d{yyyy-MM-dd}.log">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <SizeBasedTriggeringPolicy size="50000" />
      </RollingFile>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="File"/>
    </Root>
  </Loggers>
</Configuration>

Но когда я запускаю тест параллельно, созданный файл журнала показывает журналы для обоих тестов один за другим.Например, у меня есть два теста, и я хотел бы иметь журналы отдельно для двух тестов, но журналы для каждого теста объединяются, и было бы очень трудно понять, какой шаг журнала принадлежит какому тесту.

03:24:45.036 [TestNG-PoolService-0] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.036 [TestNG-PoolService-1] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.043 [TestNG-PoolService-0] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.043 [TestNG-PoolService-0] INFO  utility.LogUtilities - $$$$$$$$$$$$$$$$$$$$$                 TC01       $$$$$$$$$$$$$$$$$$$$$$$$$
03:24:45.043 [TestNG-PoolService-0] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.044 [TestNG-PoolService-0] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.045 [TestNG-PoolService-1] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.045 [TestNG-PoolService-1] INFO  utility.LogUtilities - $$$$$$$$$$$$$$$$$$$$$                 TC02       $$$$$$$$$$$$$$$$$$$$$$$$$
03:24:45.045 [TestNG-PoolService-1] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.045 [TestNG-PoolService-1] INFO  utility.LogUtilities - ****************************************************************************************
03:24:45.630 [TestNG-PoolService-0] INFO  utility.LogUtilities - -------- Starting WebDriver --------
03:24:45.680 [TestNG-PoolService-1] INFO  utility.LogUtilities - -------- Starting WebDriver --------
03:24:51.669 [TestNG-PoolService-1] INFO  utility.LogUtilities - -------- Starting: adminopenhomepage -----------
03:24:51.669 [TestNG-PoolService-1] INFO  utility.LogUtilities - ---------------- Opening Adming Home Page --------
03:24:52.893 [TestNG-PoolService-1] INFO  utility.LogUtilities - ---------------- Admin Home Page is opened successfully --------
03:24:52.894 [TestNG-PoolService-1] INFO  utility.LogUtilities - -------- Starting: adminenterusername -----------
03:24:52.894 [TestNG-PoolService-1] INFO  utility.LogUtilities - ------------ Finding the admin username --------
03:24:52.971 [TestNG-PoolService-1] INFO  utility.LogUtilities - ------------ Admin username found successfully --------
03:24:52.971 [TestNG-PoolService-1] INFO  utility.LogUtilities - ---------------- Entering data into username filed --------
03:24:53.138 [TestNG-PoolService-1] INFO  utility.LogUtilities - ---------------- Data entered into username filed --------
03:24:53.138 [TestNG-PoolService-1] INFO  utility.LogUtilities - -------- Starting: adminenterpassword -----------

Если вы видите выше, журналы для TC01 и TC02 объединены, и очень трудно определить, какое сообщение журнала принадлежит к какому тестовому кейсу.

Итак, как настроить XML-файл для записи журналовв разные файлы в зависимости от количества потоков или есть ли другой способ распечатать журналы отдельно?

Спасибо.

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