Skip to content

Commit

Permalink
Dealing with zombie processes
Browse files Browse the repository at this point in the history
  • Loading branch information
augustocristian committed Aug 16, 2024
1 parent 585d403 commit c8533ae
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Date;
import java.util.List;
import java.util.Properties;
Expand Down Expand Up @@ -107,7 +108,7 @@ static void setupAll() { // 28 lines
}

@BeforeEach
void setup(TestInfo info) { //65 lines
void setup(TestInfo info) throws MalformedURLException { //65 lines
log.info("##### Start test: {}" , info.getTestMethod().get().getName());
TJOB_NAME = System.getProperty("dirtarget");

Expand All @@ -118,7 +119,7 @@ void setup(TestInfo info) { //65 lines
}

protected BrowserUser setupBrowser(String browser, String testName,
String userIdentifier, int secondsOfWait) {
String userIdentifier, int secondsOfWait) throws MalformedURLException {
BrowserUser u;
log.info("Starting browser ({})", browser);

Expand Down Expand Up @@ -179,7 +180,6 @@ void tearDown(TestInfo info) { //13 lines
logEntries.forEach(entry -> log.info("[{}] {} {}",
new Date(entry.getTimestamp()), entry.getLevel(),
entry.getMessage()));
//TO-DO- ERROR with the logout
if (this.student.isOnSession()) {
this.logout(student);
}
Expand Down Expand Up @@ -243,8 +243,11 @@ private void login(BrowserUser user, String userEmail, String userPass,
try {
userName = getUserName(user, true, APP_URL);
} catch (NotLoggedException | ElementNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if (e.getClass().isInstance(NotLoggedException.class)){
log.error("The user {} was not logged",user.getClientData());}
else{
log.error("The userName field not found" );
}
}

log.info("Logging in successful for user {}", user.getClientData());
Expand Down Expand Up @@ -327,7 +330,7 @@ protected void openDialog(String cssSelector, BrowserUser user) {
"//div[contains(@class, 'modal-overlay') and contains(@style, 'opacity: 0.5')]")),
"Dialog not opened");

log.info("Dialog opened for user {}", user.getClientData());
log.info("Dialog opened using css selector for user {}", user.getClientData());
}

protected void openDialog(WebElement el, BrowserUser user) {//8lines
Expand All @@ -339,7 +342,7 @@ protected void openDialog(WebElement el, BrowserUser user) {//8lines
user.waitUntil(ExpectedConditions.presenceOfElementLocated(By.xpath(
"//div[contains(@class, 'modal-overlay') and contains(@style, 'opacity: 0.5')]")),
"Dialog not opened");
log.info("Dialog opened for user {}", user.getClientData());
log.info("Dialog using webelement for user {}", user.getClientData());
}

protected void waitForDialogClosed(String dialogId, String errorMessage,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
public class ChromeUser extends BrowserUser {
ChromeOptions options = new ChromeOptions();

public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, String userIdentifier) {
public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, String userIdentifier) throws MalformedURLException {
super(userName, timeOfWaitInSeconds);
log.info("Starting the configuration of the web browser");
log.debug(String.format("The Test name is: %s", testName));
Expand All @@ -52,7 +52,8 @@ public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, Str

//Problems with the max attempt of retry, solved with : https://github.com/aerokube/selenoid/issues/1124 solved with --disable-gpu
//Problems with flakiness due to screen resolution solved with --start-maximized
String[] arguments = {"--start-maximized"};
// --no-zygote deals with the creation of zombie processes
String[] arguments = {"--start-maximized","--no-zygote"};

log.debug("Adding the arguments ({})", Arrays.toString(arguments));
for (String argument : arguments
Expand All @@ -68,8 +69,6 @@ public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, Str
log.info("Using the Local WebDriver ()");
this.driver = new ChromeDriver(options);
} else {
try {

Map<String, Object> selenoidOptions = new HashMap<>();
log.info("Using the remote WebDriver (Selenoid)");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH:mm");
Expand All @@ -85,7 +84,7 @@ public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, Str
LocalDateTime now = LocalDateTime.now();
String logName = System.getProperty("tjob_name") + "-" + dtf.format(now) + "-" + testName + "-" + userIdentifier + ".log";
String videoName = System.getProperty("tjob_name") + "-" + dtf.format(now) + "-" + testName + "-" + userIdentifier + ".mp4";
log.debug("The data of this test would be stored into: video name " + videoName + " and the log is " + logName);
log.debug("The data of this test would be stored into: video name: {} and the log name: {} " , videoName,logName);

selenoidOptions.put("enableLog", true);
selenoidOptions.put("logName ", logName);
Expand All @@ -101,9 +100,6 @@ public ChromeUser(String userName, int timeOfWaitInSeconds, String testName, Str
log.debug("Configuring the Local File Detector");
remote.setFileDetector(new LocalFileDetector());
this.driver = remote;
} catch (MalformedURLException e) {
throw new RuntimeException("Exception creating eusApiURL", e);
}
}
log.debug("Configure the driver connection timeouts at ({})", this.timeOfWaitInSeconds);
new WebDriverWait(driver, Duration.ofSeconds(this.timeOfWaitInSeconds));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.openqa.selenium.support.ui.ExpectedConditions;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;
import java.util.stream.Stream;

Expand Down Expand Up @@ -65,7 +66,7 @@ public static Stream<Arguments> data() throws IOException {
@ParameterizedTest
@MethodSource("data")
@Tag("Multiuser Test")
void oneToOneChatInSessionChrome(String mail, String password, String role ) { //197 Lines of code
void oneToOneChatInSessionChrome(String mail, String password, String role ) throws MalformedURLException { //197 Lines of code
int numberpriormessages;

// TEACHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.openqa.selenium.support.ui.ExpectedConditions;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.stream.Stream;


Expand Down Expand Up @@ -62,7 +63,7 @@ public FullTeachingTestEndToEndVideoSessionTests() {
@DisplayName("sessionTest")
@ParameterizedTest
@MethodSource("data")
void oneToOneVideoAudioSessionChrome(String mail, String password, String role) { //124+ 232+ 20 set up +8 lines teardown = 564
void oneToOneVideoAudioSessionChrome(String mail, String password, String role) throws MalformedURLException { //124+ 232+ 20 set up +8 lines teardown = 564

// TEACHER
this.slowLogin(teacher, mail, password);//24
Expand Down

0 comments on commit c8533ae

Please sign in to comment.