ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mac에서 iOS 자동화 테스트 (Appium, IntelliJ, Junit, Java)
    테스팅 관련/테스트 2021. 5. 15. 10:55

     

    iOS 자동화 테스트 환경 설정 '쉽게' 하기

    (사용할 최소 부분만 설치)

    환경 설정에 많은 시간을 뺏기지 말자

     

    체크리스트

    Java JDK
    ✅ Xcode
    ✅ Carthage
    ✅ Appium
    ✅ IntelliJ
    ✅ Gradle
    ✅ Selenium WebDriver
    ✅ Appium Java Client
    ✅ Junit

     

    1. Java JDK 설치

    잠깐! JDK가 설치되어있을 수도 있잖아?? 확인부터 들어간다!

    Terminal을 실행시켜 자바 버전을 확인해본다

    $ java --version

    Java가 설치되어 있는 경우, 

    java version "11.0.11" 2021-04-20 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

    이런 식으로 결과가 나온다.. 버전을 잘 기억해 둘 것!

     

    JDK 설치 또는 다른 버전 설치하기

    CI/CD를 염두해두고 있다면, Terminal을 사용해서 다운로드 받을 것!

     

    1-1. Homebrew (macOS 용 패키지 관리자) 설치 및 업그레이드 하기

    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    $ brew update

    1-2. Homebrew에 adoptopenjdk/openjdk 추가

    $ brew tap adoptopenjdk/openjdk

    1-3. 원하는 JDK 버전 설치 (16을 선택했지만, 다른 버전 설치할 경우 숫자만 바꾸기)

    $ brew install --cask adoptopenjdk16

    1-4. bash_profile에서 자바 버전 설정 (사용하는 쉘이 zsh인 경우)

    vi ~/.zshrc

    입력창이 나오면, i (insert의 약자)를 입력해서 입력 모드로 들어간다

    export JAVA_HOME=$(/usr/libexec/java_home)

    위 내용을 입력한 후, esc 키 + :wq + 엔터

     

    1-5. bash_profile 변경 사항 반영

    source ~/.zshrc

    1-6. 자바 버전 다시 확인

    $ java -version

    설치한 버전 결과가 나왔다면, JDK 설치 성공!

     

    2. Xcode와 시뮬레이터 설치

    2-1. AppStore에서 Xcode 다운로드

    https://apps.apple.com/kr/app/xcode/id497799835?l=en&mt=12

     

    ‎Xcode

    ‎Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging. The Xcode IDE combined with

    apps.apple.com

    2-2. 시뮬레이터 설치

    Xcode 실행 > Preferences > Components > 원하는 iOS 버전 시뮬레이터 선택 > Check and Install Now

     

    3. Carthage 설치

    Carthage = iOS/macOS를 위한 dependency 매니저

    $ brew install carthage

     

    4. Appium 설치

    https://github.com/appium/appium-desktop/releases/tag/v1.20.2-4

     

    Release 1.20.2-4 · appium/appium-desktop

    Feat: add UA in the header like appium-inspector/version (Browserstack) Feat: add sessionName in the attach to session dropdown #1694 Fix: request to remote server not sent in case of fresh install...

    github.com

    .dmg로 끝나는 파일 다운로드 (예. Appium-mac-1.20.2-4.dmg)

     

    4-1. Appium 환경 셋업

    $ /usr/libexec/java_home

    위 결과로 나온 경로를 복사한다 (예. /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home)

     

    Appium 실행 > Edit Configurations > JAVA_HOME: 복사한 경로 입력 > Save and Restart

     

    5. IntelliJ IDE 설치

    https://www.jetbrains.com/ko-kr/idea/download/#section=mac

     

    다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE

     

    www.jetbrains.com

    Community > 다운로드

     

    6. Gradle(자동화 빌드 툴)을 사용하여 Dependencies 추가

    6-1. IntelliJ 실행 및 New Project 생성하기

    Applications > IntelliJ

    IntelliJ > New Project

    Gradle > Project SDK: 설치한 Java 버전 선택, Additional Libraries and Frameworks: Java > Next > 프로젝트 이름 설정 > Finsh

     

    6-2. build.gradle 파일 수정하기

    Dependencies (Selenium WebDriver, Appium Java Client, Junit)를 추가한다

    dependencies {  } 부분을 아래와 같이 수정하기

    dependencies {
        implementation 'junit:junit:4.13.2'
        implementation 'io.appium:java-client:7.5.1'
        implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
    }

    위 버전은 현시점 최신으로 설정함 (Selenium은 beta 버전이 아직 호환 되지 않아 3.x 버전으로 설정)

     


    기본 테스트 케이스 작성 및 실행

    1. 테스트 케이스 작성하기

    src > test > java 디렉토리에 Java Class 파일 생성

    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.remote.RemoteWebDriver;
    
    import java.net.URL;
    
    public class test_example {
        private static final String APPIUM = "http://localhost:4723/wd/hub";
    
        private RemoteWebDriver driver;
    
        @Before
        public void setUp() throws Exception {
            DesiredCapabilities caps = new DesiredCapabilities();
            caps.setCapability("platformName", "iOS");
            caps.setCapability("platformVersion", "14.5");
            caps.setCapability("deviceName", "iPhone XS");
            caps.setCapability("automationName", "XCUITest");
    
            driver = new RemoteWebDriver(new URL(APPIUM), caps);
        }
    
        @After
        public void tearDown() {
            if (driver != null) {
                driver.quit();
            }
        }
    
        @Test
        public void test() {
            System.out.println("Here's our test!");
        }
        
    }
    

    setUp() 메소드에서 platformVersionXcode에서 설치한 iOS 버전을 입력한다

    deviceName원하는 iOS 기기 이름을 입력한다

     

    2. 테스트 케이스 실행하기

    2-1. Appium을 실행한다 (Applications > Appium 클릭)

    Start Server v1.20.2 클릭

     

    2-2. 작성한 테스트 케이스를 실행한다

    Run '테스트 케이스 이름' 클릭

     

    시뮬레이터가 자동으로 실행되며, 테스트가 실행된다

    (시뮬레이터가 실행되지 않을 시, Spotlight 검색에서 Simulator를 찾아 실행한다)

     

    테스트가 성공하면, Here's our test! 라는 결과가 보인다

     

     

    '테스팅 관련 > 테스트' 카테고리의 다른 글

    macOS에서 Jenkins 설치 및 실행  (0) 2021.05.02
    pytest 명령어  (0) 2021.05.02
    비기능 테스트  (0) 2021.04.11
    여러 테스트 프레임워크를 같이 사용할 수 있을까?  (0) 2021.02.18
    API 테스트  (0) 2020.09.10
Designed by Tistory.