์ ๋ฒ ํฌ์คํธ์์ ํ ์คํธ ์๋ํ ๊ตฌ์ฑ์ ์ํ ์ค๋น๋ฅผ ๋๋๋ค๋ฉด, ์ค๋์ ๋ฉ์ด๋ธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ , TestNG ํด๋์ค๋ก ํ ์คํธ๋ฅผ ๊ตฌ์ฑํ์ฌ, ๊ฐ๋จํ ์ฝ๋๋ฅผ ์คํํด๋ณผ ๊ฒ์ด๋ค. ํด๋น ๊ฐ์ด๋๋ ์ดํด๋ฆฝ์ค ํ๊ฒฝ์์ ์ํํ๋ค.
Maven ํ๋ก์ ํธ ์์ฑ ๋ฐฉ๋ฒ
1. ์ดํด๋ฆฝ์ค ์คํ
2. File > New > Other ์ ๋ค์ด๊ฐ์ Maven > Maven Project ์ ํ
3. Create a simple project ์ ์ฒดํฌํ๊ณ Next
4. New Maven Project ๋ค์ด์ผ๋ก๊ทธ
Group id, Artifact id ๋ฅผ ์์๋ก ์ ๋ ฅํด์ฃผ๊ณ , Finish๋ฅผ ํด๋ฆญํ๋ค.
Group id๋ com.example ์ ๊ฐ์ ํ์์ผ๋ก ์ ๋ ฅํด์ฃผ๋ฉด ํจํค์ง๊ฐ ์์ฑ๋๋ค.
Artifact id๋ test1 ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์ ํด์ฃผ๋ฉด, ํ๋ก์ ํธ์ ์ด๋ฆ์ด ๋๋ค.
5. maven ํ๋ก์ ํธ ์์ฑ์ ์๋ฃํ๋ค.
์ ๋ ๋์๊ณผ TestNG ์์กด์ฑ ์ถ๊ฐ ๋ฐฉ๋ฒ
1. pom.xml ํ์ผ ์ด๊ธฐ
2. <project> ํ๊ทธ ์ฌ์ด์ ์๋์ ์์กด์ฑ ์ฝ๋ ์ถ๊ฐ
<properties>
<java.version>1.8</java.version>
<selenium.version>3.12.0</selenium.version>
<testng.version>6.13.1</testng.version>
<javafaker.version>0.14</javafaker.version>
<guava.version>23.2-jre</guava.version>
<extentreports.version>3.0.7</extentreports.version>
<extenttestng.version>1.3.1</extenttestng.version>
<assertj.version>3.8.0</assertj.version>
<maven.compiler.version>3.7.0</maven.compiler.version>
<commons.version>3.7</commons.version>
<commons.io.version>2.6</commons.io.version>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
TestNG class ์์ฑ ๋ฐฉ๋ฒ
์ด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ผ๋, class๋ฅผ ์์ฑํด์ผํ๋ค.
1. src/test/java > New > Other
2. TestNG > TestNG class ์ ์ ํํ๋ค.
3. New TestNG class ๋ค์ด์ผ๋ก๊ทธ์ ์๋ ๋ด์ฉ์ ์ ๋ ฅํด๋ณธ๋ค.
source folder : /test1/src/test/java (Browse.. ๋ฒํผ์ผ๋ก ์ ํ ๊ฐ๋ฅํ๋ค.)
Package name : com.example (์๊น ์์์ ์ ํด์ค ํจํค์ง ์ด๋ฆ์ ์ ๋ ฅ)
Class name : NavigationTest (์ด๊ฒ๋ ์์๋ก ์ ๋ ฅํด์ค๋ค.)
@BeforeMethod, @AfterMethod ์ ํ
XML suite file : /src/test/resources/suites/testing.xml
4. TestNG class ์์ฑ ์๋ฃ
- TestNG์ด๋ ธํ ์ด์ (@Test, @BeforeMethod, @AfterMethod) ๊ณผ beforeMethod, afterMethod ๋ฉ์๋๊ฐ ์ถ๊ฐ๋ NavigationTest.java ํด๋์ค๊ฐ ๋ง๋ค์ด ์ก๋ค.
๊ฐ๋จํ ์์ ์คํํด๋ณด๊ธฐ
์ด์ ์ค๋น๊ฐ ๋๋ฌ๋ค. ์ฒซ ์์ ๋ก ํฌ๋กฌ๋ธ๋ผ์ฐ์ ๋ก google ํ์ด์ง๋ฅผ ์ด์๋ค๊ฐ ๋ซ๋ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.
1. NavagationTest ํด๋์ค ์์ฑํ๊ธฐ
ํด๋น ํด๋์ค๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ๋ค.
package com.example;
import org.testng.annotations.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
public class NavigationTest {
WebDriver driver;
@Test
public void navigateToUrl() {
//์น์ฌ์ดํธ ์ด๊ธฐ
driver.get("http://google.com/");
}
@BeforeMethod
public void beforeMethod() {
//ChromeDriver ๊ฒฝ๋ก ์ค์
System.setProperty("webdriver.chrome.driver", "./src/test/resources/drivers/chromedriver");
//์น๋๋ผ์ด๋ฒ ์ธ์
์ด๊ธฐํ
driver = new ChromeDriver();
}
@AfterMethod
public void afterMethod() {
//ํ
์คํธ ์ข
๋ฃ ๋ฐ ๋ธ๋ผ์ฐ์ ๋ซ๊ธฐ
driver.quit();
}
}
navigateToUrl() ๋ฉ์๋๋ @Test ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค. get() ๋ฉ์๋์ URL์ ๋ฃ์ด ํธ์ถํ๋ ๋ฉ์๋์ด๋ค.
BeforeMethod() ๋ฉ์๋๋ chromedriver ์คํํ์ผ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๊ณ driver ๋ณ์์ ChromeDriver() ํด๋์ค ์ธ์คํด์ค ํ ๋นํ๋ค. TestNG ์ด๋ ธํ ์ด์ @BeforeMethod ๋ฅผ ์ฌ์ฉํด ํ ์คํธ ๋ฉ์๋๋ฅผ ์คํํ๊ธฐ ์ ์ ์คํ์ํจ๋ค. ํด๋น ๋ฉ์๋๊ฐ ์คํ ์๋ฃ๋๋ฉด ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ๋ํ๋๋ค.
afterMethod() ๋ฉ์๋๋ @AfterMethod ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค. ํ ์คํธ๊ฐ ๋๋ ๋ค ํธ์ถ๋๋ค. ํฌ๋กฌ๋๋ผ์ด๋ฒ๋ฅผ ์ข ๋ฃํ๋ ์ฝ๋์ด๋ค.
2. ์คํํ๊ธฐ
์์ ์์ฑํ ์ฝ๋๋ฅผ ์คํ์ํจ๋ค. ํธ์ง๊ธฐ์์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ ํด๋ฆญ > Run As > TestNG Test ์ ํ
3. ์คํ ๊ฒฐ๊ณผ ํ์ธ
์๋ ์ฒ๋ผ ์ฝ์์ ๋ด์ฉ์ด ๋์ค๋ฉด ์ฑ๊ณตํ ๊ฒ์ด๋ค.
์ดํด๋ฆฝ์ค์ TestNG ํ๋ฌ๊ทธ์ธ์๋ ๋ค์ ํ๋ฉด์ด ๋์จ๋ค. 1๊ฐ์ testcase(@Test)๊ฐ ์๊ณ , 1๊ฐ๊ฐ ์ฑ๊ณตํ๋ค๋ ๋ป์ด๋ค.
์ถ์ฒ : Selenium์ ํ์ฉํ ํ ์คํธ ์๋ํ (W3Cํ์ค ์น๋๋ผ์ด๋ฒ๋ก ๋ง๋๋ ํ ์คํธ ์คํธ๋ฆฝํธ)
'SQA > Automation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Selenium ์๋ฆฌ๋จผํธ ์์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ By ์ง์ ์, java (0) | 2023.04.18 |
---|---|
Selenium ์น ์๋ฆฌ๋จผํธ ์ฐพ๊ธฐ FindElement , java (0) | 2023.04.16 |
Selenium ์๋ํ ํ๊ฒฝ ์ค์ , maven TestNG ChromeDriver (0) | 2023.04.13 |
ChromeDriver ํฌ๋กฌ๋๋ผ์ด๋ฒ ๋ค์ด๋ก๋ ๋ฒ์ ํ์ธ ๋ฐฉ๋ฒ (0) | 2023.04.12 |
TestNG ์ค์น ๋ฐฉ๋ฒ , ์ดํด๋ฆฝ์ค (0) | 2023.04.10 |