테스트 자동화의 편리한 도구

소개



최근 RPA는 유행하고 있는 것 같네요. 테스트 자동화도 RPA의 범주에 있는지 생각합니다.
테스트 자동화에는 여러 가지 도구가 있지만 무료로 사용할 수있는 도구는
  • Selenium
  • RobotFramework

  • 등은 유명합니다.

    Selenium이란?



    Selenium은 여러 도구로 구성된 테스트 시스템입니다.


    WebDriver



    라이브러리 도입



    build.gradle
    // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
    
    // https://mvnrepository.com/artifact/commons-io/commons-io
    compile group: 'commons-io', name: 'commons-io', version: '2.6'
    

    로컬 WebDriver를 시작하고 테스트해 봅니다.



    Selenium.java
    package selenium;
    
    import java.io.File;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.apache.commons.io.FileUtils;
    import org.openqa.selenium.By;
    import org.openqa.selenium.OutputType;
    import org.openqa.selenium.TakesScreenshot;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class Selenium {
    
        private static DateFormat DF = new SimpleDateFormat("yyyyMMdd HHmmssSSS");
    
        public static void main(String[] args) throws Exception {
            // http://chromedriver.chromium.org/downloads
            // ドライバを設定
            System.setProperty("webdriver.chrome.driver", "/selenium/76_driver/chromedriver.exe");
            WebDriver driver = new ChromeDriver();
    
            // ブラウザ起動して、yahooをアクセスする
            driver.get("https://www.yahoo.co.jp/");
            // yahooのトップページのエビデンスを作成する
            makeEvidence(driver);
    
            // キーワード入力欄の要素を取得する
            WebElement searchBox = driver.findElement(By.name("p"));
            // キーワード「blockchain」を入力する
            searchBox.sendKeys("blockchain");
            // キーワードを入力した状態のエビデンスを取得する
            makeEvidence(driver);
    
            // 検索を行う
            searchBox.submit();
            // 検索結果のエビデンスを作成する
            makeEvidence(driver);
    
            // ブラウザを閉じる
            driver.quit();
        }
    
        /**
         * エビデンスを作成する
         * 
         * @param webdriver Webドライバ
         * @throws Exception
         */
        public static void makeEvidence(WebDriver webdriver) throws Exception {
            String fileName = "c:/data/evidence/" + DF.format(new Date()) + ".png";
            File src = ((TakesScreenshot) webdriver).getScreenshotAs(OutputType.FILE);
            File dest = new File(fileName);
    
            // ファイルを移動
            FileUtils.moveFile(src, dest);
        }
    }
    
    

    원격 WebDriver를 시작하고 테스트해보십시오.



    Selenium Grid 서비스를 구축하여 원격 서버에서 테스트 할 수 있습니다.
    Docker와 jenkins에서도 Selenium Grid 서비스를 쉽게 만들 수 있습니다.

    Selenium.java
    // Selenium Gridがある場合はリモートサーバで実行できます。
    // Jenkinsの場合はwebdriverの設定が必要です。
    DesiredCapabilities chromeCapabilities = DesiredCapabilities.chrome();
    //chromeCapabilities.setVersion("78");
    WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), chromeCapabilities);    
    

    WebDriver 버전과 실제 설치한 버전이 맞지 않으면 아래 오류가 발생합니다.
    Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 78
    Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
    

    ${JENKINS_HOME}/Jenkins/tools/chromedriver 드라이버를 교체하여 대응해야 합니다.

    참고 URL: htps : // 우우키. 지킨킨 s. 이오 / ぢ sp y / 지 킨 킨 S / 세이 니 m + P ㅅ 긴

    Selenium IDE



    설치



    Chrome : htps // ch 로메. 오, ぇ. 이 m / ぇ bs 잡아 / 싶은 l / 세에 에 맘에 / 모이오 kf 또는 hbdckld jj ぢ 오 ck 하면 lp 호kd? hl = 그럼
    Firefox : htps : // 아동 s. 모잖아. 오 rg / 자 / 푹신 푹신 x / 아동 / 세이 니메 /

    사용해보기



    · 시작


    ·Create a new project


    · 프로젝트 화면


    · 녹음


    START RECORDING 버튼을 누르면 화면 조작을 실행합니다. 중지하면 프로젝트에 반영됩니다.


    ・재생


    · 재생 결과 : 문제없이 실행되었습니다.


    RobotFramework란?



    Robot Framework is a generic open source automation framework for aceptance testing, aceptance test driven development (ATDD), and robotic process automation (RPA).

    설치


    pip install robotframework

    실행 예


    robot QuickStart.rst

    API



    샘플



    이상

    좋은 웹페이지 즐겨찾기