Skip to content

Commit

Permalink
upgrade from JUnit 4 to JUnit 5
Browse files Browse the repository at this point in the history
  • Loading branch information
asolntsev committed Sep 18, 2024
1 parent bd64b2f commit a9d6b10
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 49 deletions.
22 changes: 18 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,29 @@ repositories {
mavenCentral()
}

ext {
junitVersion = '5.10.3'
slf4jVersion = '2.0.16'
selenideVersion = '7.5.0'
}

dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation 'com.codeborne:selenide-junit4:7.5.0'
implementation 'org.slf4j:slf4j-simple:2.0.16'
testRuntimeOnly 'org.slf4j:slf4j-simple:2.0.16'
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
testImplementation("org.junit.jupiter:junit-jupiter-engine:$junitVersion")

testImplementation "com.codeborne:selenide:$selenideVersion"
implementation "org.slf4j:slf4j-simple:$slf4jVersion"
testRuntimeOnly "org.slf4j:slf4j-simple:$slf4jVersion"
}

defaultTasks 'clean', 'test'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

[compileJava, compileTestJava]*.options.collect {options -> options.encoding = 'UTF-8'}
[compileJava, compileTestJava]*.options.collect {options -> options.debug = true}

Expand Down
18 changes: 10 additions & 8 deletions src/test/java/org/selenide/examples/hugeform/Demo.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package org.selenide.examples.hugeform;

import com.codeborne.selenide.SelenideConfig;
import com.codeborne.selenide.SelenideDriver;
import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.sleep;
import static java.util.Objects.requireNonNull;
import static java.util.concurrent.Executors.newFixedThreadPool;
import static java.util.concurrent.TimeUnit.MINUTES;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;

import static com.codeborne.selenide.Selenide.sleep;
import static java.util.concurrent.Executors.newFixedThreadPool;
import org.openqa.selenium.By;

import com.codeborne.selenide.SelenideConfig;
import com.codeborne.selenide.SelenideDriver;

public class Demo implements Runnable {
private final SelenideDriver driver;
Expand All @@ -19,7 +21,7 @@ public Demo(SelenideDriver driver) {

@Override
public void run() {
driver.open(getClass().getResource("/huge_dynamic_form.html"));
driver.open(requireNonNull(getClass().getResource("/huge_dynamic_form.html")));

driver.$(By.name("FOOTER")).setValue("fastSetValue = " + driver.config().fastSetValue());
driver.$(By.name("HEADER")).setValue("fastSetValue = " + driver.config().fastSetValue());
Expand All @@ -42,7 +44,7 @@ public static void main(String[] args) throws InterruptedException {
pool.submit(new Demo(browser1));
pool.submit(new Demo(browser2));
pool.shutdown();
pool.awaitTermination(1, TimeUnit.MINUTES);
pool.awaitTermination(1, MINUTES);

sleep(4000);
browser2.close();
Expand Down
80 changes: 43 additions & 37 deletions src/test/java/org/selenide/examples/hugeform/FillHugeFormTest.java
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
package org.selenide.examples.hugeform;

import com.codeborne.selenide.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.openqa.selenium.By;

import java.util.List;

import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.closeWebDriver;
import static com.codeborne.selenide.Selenide.open;
import static com.codeborne.selenide.WebDriverRunner.closeWebDriver;
import static java.util.Arrays.asList;
import static java.util.Objects.requireNonNull;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.codeborne.selenide.Configuration;

@RunWith(Parameterized.class)
public class FillHugeFormTest {
@Parameterized.Parameters
public static List<Object[]> names() {
return asList(
new Object[]{"chrome", "sendKeys"},
new Object[]{"chrome", "fastSetValue"},
new Object[]{"firefox", "sendKeys"},
new Object[]{"firefox", "fastSetValue"}
);

private static final Logger log = LoggerFactory.getLogger(FillHugeFormTest.class);

@Test
void chrome_sendKeys() {
fillHugeForm("chrome", "sendKeys");
}

@Test
void chrome_fastSetValue() {
fillHugeForm("chrome", "fastSetValue");
}

@Test
void firefox_sendKeys() {
fillHugeForm("firefox", "sendKeys");
}

@Test
void firefox_fastSetValue() {
fillHugeForm("firefox", "fastSetValue");
}

private final String method;

public FillHugeFormTest(String browser, String method) {
this.method = method;
private void init(String browser, String method) {
Configuration.browser = browser;
Configuration.browserSize = "500x700";
Configuration.browserPosition = "200x100";
Configuration.fastSetValue = "fastSetValue".equals(method);
open(requireNonNull(getClass().getResource("/huge_dynamic_form.html")));
}

@Before
public void setUp() {
open(getClass().getResource("/huge_dynamic_form.html"));
}
private void fillHugeForm(String browser, String method) {
init(browser, method);

@After
public void tearDown() {
closeWebDriver();
}

@Test
public void fillHugeForm() {
$(By.name("HEADER")).setValue(Configuration.browser + ", " + method + "():");
$(By.name("FOOTER")).setValue(Configuration.browser + ", " + method + "():");

Expand All @@ -58,6 +58,12 @@ public void fillHugeForm() {
}
long end = System.currentTimeMillis();

System.out.println(Configuration.browser + " --> " + method + ": " + (end-start) + " ms.");
log.info("{} --> {}: {} ms.", browser, method, end - start);
}

@BeforeEach
@AfterEach
public void tearDown() {
closeWebDriver();
}
}

0 comments on commit a9d6b10

Please sign in to comment.