Skip to content

Commit

Permalink
Revert "Merge branch '322-bug-browser-is-not-started-for-after-method…
Browse files Browse the repository at this point in the history
…-if-its-declared-in-different-class-than-the-test-itself' into #330-improvement-stabilize-unit-tests"

This reverts commit c723710, reversing
changes made to 2bd3f97.
  • Loading branch information
oomelianchuk committed Dec 23, 2024
1 parent 916ebfb commit f5c8d53
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ public void run(Supplier<Throwable> afterMethodInvocation, Method after, boolean

// if browserConfiguration is null, the browser should not be started for this method and browserTag and
// browserRunner are therefore not required
BrowserMethodData browserTag = browserConfiguration != null ? BrowserData.addKeepBrowserOpenInformationForBeforeOrAfter(browserConfiguration.getBrowserTag(),
after)
BrowserMethodData browserTag = browserConfiguration != null ? BrowserData.addKeepBrowserOpenInformation(browserConfiguration.getBrowserTag(),
after.getDeclaringClass(), after)
: null;
BrowserRunner browserRunner = browserTag != null ? new BrowserRunner(browserTag, after.getName()) : null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public void run(Supplier<Throwable> beforeMethodInvocation, Method before, boole

// if browserConfiguration is null, the browser should not be started for this method and browserTag and
// browserRunner are therefore not required
BrowserMethodData browserTag = browserConfiguration != null ? BrowserData.addKeepBrowserOpenInformationForBeforeOrAfter(browserConfiguration.getBrowserTag(),
before)
BrowserMethodData browserTag = browserConfiguration != null ? BrowserData.addKeepBrowserOpenInformation(browserConfiguration.getBrowserTag(),
before.getDeclaringClass(), before)
: null;
BrowserRunner browserRunner = browserTag != null ? new BrowserRunner(browserTag, before.getName()) : null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public class BrowserData extends Data
public BrowserData(Class<?> testClass)
{
this();
this.testClass = testClass;
initClassAnnotationsFor(testClass);
}

Expand Down Expand Up @@ -201,15 +202,15 @@ else if (!classRandomBrowsersAnnotation.isEmpty() && methodBrowsers.isEmpty())
{
return browsers.stream()
.filter(browserTag -> systemBrowserFilter.contains(browserTag))
.map(browserTag -> addKeepBrowserOpenInformation(browserTag, testMethod))
.map(browserTag -> addKeepBrowserOpenInformation(browserTag, testClass, testMethod))
.collect(Collectors.toList());
}
return browsers.stream()
.map(browserTag -> addKeepBrowserOpenInformation(browserTag, testMethod))
.map(browserTag -> addKeepBrowserOpenInformation(browserTag, testClass, testMethod))
.collect(Collectors.toList());
}

public static BrowserMethodData addKeepBrowserOpenInformationForBeforeOrAfter(String browserTag, Method method)
public static BrowserMethodData addKeepBrowserOpenInformation(String browserTag, Class<?> testClass, Method method)
{
List<KeepBrowserOpen> methodKeepBrowserOpenAnnotations = getAnnotations(method, KeepBrowserOpen.class);
List<KeepBrowserOpen> classKeepBrowserOpenAnnotations = getAnnotations(method.getDeclaringClass(), KeepBrowserOpen.class);
Expand Down Expand Up @@ -246,22 +247,14 @@ public static BrowserMethodData addKeepBrowserOpenInformationForBeforeOrAfter(St
keepOpenOnFailure = false;
}
}

return new BrowserMethodData(browserTag, keepOpen, keepOpenOnFailure, false, false, new ArrayList<Method>());
}

private BrowserMethodData addKeepBrowserOpenInformation(String browserTag, Method method)
{
BrowserMethodData browserMethodData = addKeepBrowserOpenInformationForBeforeOrAfter(browserTag, method);
boolean junit5 = method.getAnnotation(NeodymiumTest.class) != null;
List<Method> afterMethodsWithTestBrowser = List.of(testClass.getMethods()).stream()
.filter(classMethod -> (junit5 ? classMethod.getAnnotation(AfterEach.class)
: classMethod.getAnnotation(After.class)) != null)
.collect(Collectors.toList());
if (!(Neodymium.configuration().startNewBrowserForSetUp() && Neodymium.configuration().startNewBrowserForCleanUp()))
{
browserMethodData.setAfterMethodsWithTestBrowser(afterMethodsWithTestBrowser);
return browserMethodData;
return new BrowserMethodData(browserTag, keepOpen, keepOpenOnFailure, false, false, afterMethodsWithTestBrowser);

}
boolean separateBrowserForSetupRequired = false;
Expand Down Expand Up @@ -294,10 +287,7 @@ private BrowserMethodData addKeepBrowserOpenInformation(String browserTag, Metho
separateBrowserForCleanupRequired = afterMethodsWithTestBrowser.isEmpty() && !afterMethods.isEmpty();
}

browserMethodData.setStartBrowserOnSetUp(separateBrowserForSetupRequired);
browserMethodData.setStartBrowserOnCleanUp(separateBrowserForCleanupRequired);
browserMethodData.setAfterMethodsWithTestBrowser(afterMethodsWithTestBrowser);
return browserMethodData;
return new BrowserMethodData(browserTag, keepOpen, keepOpenOnFailure, separateBrowserForSetupRequired, separateBrowserForCleanupRequired, afterMethodsWithTestBrowser);
}

private List<String> computeRandomBrowsers(final Method method, final List<RandomBrowsers> randomBrowsersAnnotation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,19 +58,4 @@ public List<Method> getAfterMethodsWithTestBrowser()
{
return afterMethodsWithTestBrowser;
}

public void setStartBrowserOnSetUp(boolean startBrowserOnSetUp)
{
this.startBrowserOnSetUp = startBrowserOnSetUp;
}

public void setStartBrowserOnCleanUp(boolean startBrowserOnCleanUp)
{
this.startBrowserOnCleanUp = startBrowserOnCleanUp;
}

public void setAfterMethodsWithTestBrowser(List<Method> afterMethodsWithTestBrowser)
{
this.afterMethodsWithTestBrowser = afterMethodsWithTestBrowser;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.xceptance.neodymium.junit4.testclasses.browser.inheritance;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;

import com.xceptance.neodymium.common.browser.Browser;
import com.xceptance.neodymium.junit4.NeodymiumRunner;
import com.xceptance.neodymium.junit5.NeodymiumTest;
import com.xceptance.neodymium.junit5.tests.NeodymiumWebDriverTest;
import com.xceptance.neodymium.util.Neodymium;

Expand All @@ -14,7 +14,7 @@
@RunWith(NeodymiumRunner.class)
public abstract class BrowserParent
{
@Test
@NeodymiumTest
public void testParent()
{
Assert.assertNotNull(Neodymium.getDriver());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -476,12 +476,11 @@ public void testBrowserOverwrittingInheritance() throws Throwable
{
String[] expected = new String[]
{
"test :: Browser Chrome_1024x768",
"testParent :: Browser Chrome_1024x768"
"test :: Browser Chrome_1024x768"
};
checkDescription(BrowserOverwrittingChild.class, expected);
Result result = JUnitCore.runClasses(BrowserOverwrittingChild.class);
checkPass(result, 2, 0);
checkPass(result, 1, 0);
}

private void checkChrome(BrowserConfiguration config)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -458,12 +458,11 @@ public void testBrowserOverwrittingInheritance() throws Throwable
{
String[] expected = new String[]
{
"test :: Browser Chrome_1024x768",
"testParent :: Browser Chrome_1024x768"
"test :: Browser Chrome_1024x768"
};
checkDescription(BrowserOverwrittingChild.class, expected);
NeodymiumTestExecutionSummary summary = run(BrowserOverwrittingChild.class);
checkPass(summary, 2, 0);
checkPass(summary, 1, 0);
}

private void checkChrome(BrowserConfiguration config)
Expand Down

0 comments on commit f5c8d53

Please sign in to comment.