From 7aafd4554768982a16b3fd9494cba6885a0bfb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=B0=B1=ED=96=89?= Date: Fri, 17 Jul 2026 09:42:29 +0900 Subject: [PATCH] =?UTF-8?q?refactor(test):=20Selenium=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=84=9C=EB=B2=84=20=EA=B8=B0=EB=8F=99=20=EB=B0=A9?= =?UTF-8?q?=EC=8B=9D=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/EgovSampleControllerTestSelenium.java | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelenium.java b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelenium.java index 8553b82..674447f 100644 --- a/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelenium.java +++ b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelenium.java @@ -2,8 +2,10 @@ import static org.junit.jupiter.api.Assertions.fail; +import java.time.Duration; import java.time.LocalDateTime; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.Alert; @@ -12,12 +14,21 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.support.ui.Sleeper; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.server.LocalServerPort; import lombok.extern.slf4j.Slf4j; @Slf4j +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class EgovSampleControllerTestSelenium { + private static final Duration WAIT_DURATION = Duration.ofSeconds(1); + + @LocalServerPort + private int port; + WebDriver driver; @BeforeEach @@ -25,13 +36,21 @@ public void setup() { driver = new ChromeDriver(); } + @AfterEach + void tearDown() { + if (driver != null) { + sleep(); + driver.quit(); + } + } + @Test void test() { if (log.isDebugEnabled()) { log.debug("test"); } - driver.get("http://localhost:8080/"); + driver.get("http://localhost:" + port + "/"); JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver; @@ -53,7 +72,7 @@ void test() { sleep(); WebElement regUser = driver.findElement(By.id("regUser")); - regUser.sendKeys("test 이백행 등록자 " + now); + regUser.sendKeys("test 이백행"); sleep(); javascriptExecutor.executeScript("sampleAdd();"); @@ -70,10 +89,11 @@ void test() { private void sleep() { try { - Thread.sleep(1000); + Sleeper.SYSTEM_SLEEPER.sleep(WAIT_DURATION); } catch (InterruptedException e) { - fail("InterruptedException: Thread.sleep"); + Thread.currentThread().interrupt(); + fail("InterruptedException: Selenium Sleeper", e); } } -} \ No newline at end of file +}