Lost some logs when run tests in parallel. (Java + TestNG)
See example below:
pom.xml
<groupId>a</groupId>
<artifactId>b</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--JDI-->
<dependency>
<groupId>com.epam.jdi</groupId>
<artifactId>jdi-uitest-web</artifactId>
<version>1.1.18</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/suite.xml</suiteXmlFile>
</suiteXmlFiles>
<reportsDirectory>${project.basedir}/test-output</reportsDirectory>
</configuration>
</plugin>
</plugins>
</build>
Test class:
import com.epam.jdi.uitests.web.settings.WebSettings;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import static com.epam.jdi.uitests.web.settings.WebSettings.useDriver;
import static com.epam.jdi.uitests.web.settings.WebSettings.initFromProperties;
import static com.epam.jdi.uitests.web.selenium.elements.composite.WebSite.*;
import java.io.IOException;
public class BaseTest {
@BeforeMethod(alwaysRun = true)
public void setUp() throws IOException {
initFromProperties();
init(useDriver("chrome"), GoogleSite.class);
}
@Test
public void testSample(){
GoogleSite.googlePage.open();
GoogleSite.googlePage.searchField.input("try");
GoogleSite.googlePage.searchField.input(" to");
GoogleSite.googlePage.searchField.input(" find");
GoogleSite.googlePage.searchField.input(" anything");
}
@AfterMethod(alwaysRun = true)
public void tearDown(){
WebSettings.getDriver().quit();
}
}
Page objects:
import com.epam.jdi.uitests.web.selenium.elements.composite.WebSite;
import com.epam.jdi.uitests.web.selenium.elements.pageobjects.annotations.JSite;
@JSite("https://google.com")
public class GoogleSite extends WebSite {
public static GooglePage googlePage;
}
import com.epam.jdi.uitests.web.selenium.elements.common.TextField;
import com.epam.jdi.uitests.web.selenium.elements.composite.WebPage;
import com.epam.jdi.uitests.web.selenium.elements.pageobjects.annotations.JPage;
import com.epam.jdi.uitests.web.selenium.elements.pageobjects.annotations.simple.ById;
@JPage("")
public class GooglePage extends WebPage {
@ById("lst-ib")
public TextField searchField;
}
testng suite
<suite name="test suite" parallel="tests" thread-count="10">
<test name="Test1" preserve-order="true">
<classes>
<class name="example.BaseTest"/>
<methods>
<include name="testSample" />
</methods>
</classes>
</test>
<test name="Test2" preserve-order="true">
<classes>
<class name="example.BaseTest"/>
<methods>
<include name="testSample" />
</methods>
</classes>
</test>
<test name="Test3" preserve-order="true">
<classes>
<class name="example.BaseTest"/>
<methods>
<include name="testSample" />
</methods>
</classes>
</test>
<test name="Test4" preserve-order="true">
<classes>
<class name="example.BaseTest"/>
<methods>
<include name="testSample" />
</methods>
</classes>
</test>
<test name="Test5" preserve-order="true">
<classes>
<class name="example.BaseTest"/>
<methods>
<include name="testSample" />
</methods>
</classes>
</test>
</suite>
Run tetsts by surfire plugin: mvn clean install -Dsuite='src/test/resources/suite'
In example below no logs for Threads 14, 15 ,16:

Log output in .logs\events-%d{MM-dd-yy-HH-mm-ss}.log file:
2018-06-25 13:57:45 INFO: [ThreadID: 13]Open page 'Google Page' for Google Page(https://google.com/)
2018-06-25 13:57:45 INFO: [ThreadID: 15]Open page 'Google Page' for Google Page(https://google.com/)
2018-06-25 13:57:45 INFO: [ThreadID: 16]Open page 'Google Page' for Google Page(https://google.com/)
2018-06-25 13:57:45 INFO: [ThreadID: 12]Open page 'Google Page' for Google Page(https://google.com/)
2018-06-25 13:57:45 INFO: [ThreadID: 14]Open page 'Google Page' for Google Page(https://google.com/)
2018-06-25 13:58:07 INFO: [ThreadID: 12]Input text 'try' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 12]Input text ' to' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 12]Input text ' find' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 13]Input text 'try' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 12]Input text ' anything' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 13]Input text ' to' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 13]Input text ' find' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
2018-06-25 13:58:10 INFO: [ThreadID: 13]Input text ' anything' in text field for TextField 'Search Field' (GooglePage.searchField; ; id='lst-ib')
Lost some logs when run tests in parallel. (Java + TestNG)
See example below:
pom.xml
Test class:
Page objects:
testng suite
Run tetsts by surfire plugin: mvn clean install -Dsuite='src/test/resources/suite'
In example below no logs for Threads 14, 15 ,16:

Log output in .logs\events-%d{MM-dd-yy-HH-mm-ss}.log file: