Robot framework 을 사용한 web page 테스트

  1. Prerequired

    • 관련 파이썬 라이브러리 설치
      # pip install --upgrade robotframework
      # pip install --upgrade robotframework-selenium2library
      
    • selenium 을 통해 webdriver 를 호출하기 위한 브라우저 모듈 설치
  2. Robot test 실행

     $ python -m robot.run {{실행파일}}
    
    • 실행 결과 를 xml 파일로 남긴다
      • output.xml
      • log.html
      • report.html
    • 예시
        MrSense:input mr.sense$ python -m robot.run input.robot
        ==============================================================================
        Input
        ==============================================================================
        Basic Test                                                            | PASS |
        ------------------------------------------------------------------------------
        Input                                                                 | PASS |
        1 critical test, 1 passed, 0 failed
        1 test total, 1 passed, 0 failed
        ==============================================================================
        Output:  /Users/mr.sense/Dev/robotframework/sample.code/robotframework/input/output.xml
        Log:     /Users/mr.sense/Dev/robotframework/sample.code/robotframework/input/log.html
        Report:  /Users/mr.sense/Dev/robotframework/sample.code/robotframework/input/report.html
      
  3. Input Tag 관련 테스트 파일

     *** Settings ***
     Library           Selenium2Library
    
     *** Test Cases ***
     Basic Test
         Open Html
         Insert Text To Input Field
         Insert File To Input Field
         Click The button
    
     *** Keywords ***
     Open Html
         Open Browser    http://localhost:8000/input.html   browser=chrome
         Maximize Browser Window
    
     Insert Text To Input Field
         Input Text    input-text    hello world
    
     Insert File To Input Field
         Choose File   input-file  /Users/mr.sense/Dev/input.html
    
     Click The button
         Click Element     input-button
    
  4. Click Event 관련 테스트 파일

     *** Settings ***
     Library           Selenium2Library
    
     *** Test Cases ***
     Basic Test
         Open Html
         Click The button
         Click The Selectbox
         Click The link
    
     *** Keywords ***
     Open Html
         Open Browser    http://localhost:8000/click.html   browser=chrome
         Maximize Browser Window
    
     Click The button
         Click Element     btn-click
    
     Click The Selectbox
         Select From List by Value    xpath=//select[@id="select-click"]    third
         Element Should Contain    select-click    third
    
     Click The link
         Click Link      /a.html
         Wait Until Page Contains    HIHIHI    2s
    
  5. Table 관련 테스트 파일 (id 없는 element 다루기)

     *** Settings ***
     Library           Selenium2Library
    
     *** Test Cases ***
     Basic Test
         Open Html
         Get Table Row Count
         Get Table Td text
    
     *** Keywords ***
     Open Html
         Open Browser    http://localhost:8000/table.html   browser=chrome
         Maximize Browser Window
    
     Get Table Row Count
         Assign Id To Element    xpath=//table[@class="xtable"]    my_table
         ${rowCount}=    Get Matching Xpath Count       .//table[@id="my_table"]/tbody/tr
         shouldBeEqualAsIntegers     3    ${rowCount}
    
     Get Table Td text
         Assign Id To Element    xpath=//table[@class="xtable"]    my_table
         ${cellValue}=  Get Table Cell    my_table   2   2
         shouldBeEqual  19  ${cellValue}


Posted by 감각적신사
,

Robot framework + Seleium

  1. Robot framework

    • 테스트 자동화 프레임 워크
    • 프로젝트는 GitHub 에서 호스팅 하고 있음
    • 설치:
        $ pip install robotframework
      
    • 표 형식의 테스트 데이터 구문이 있으며 키워드 기반 테스팅 방식을 사용함

      • 문법 가이드
      • 샘플

        # cat test.robot
        *** Settings ***
        Library           Selenium2Library
        
        *** Test Cases ***
        Google Devops And Find Eficode
            Open Browser To Google
            Search My blog
            Result Should Contain mrsence
        
        *** Keywords ***
        Open Browser To Google
            Open Browser    https://www.google.com    browser=chrome
            Maximize Browser Window
            Google Should Be Open
        
        Search My blog
            Input Text    lst-ib    mrsence tistory
            Press Key    lst-ib    \\13
        
        Result Should Contain mrsence
            Wait Until Page Contains    mrsence.tistory.com    10 s
        
        Google Should Be Open
            Location Should Contain    www.google.com
        
  2. seleium
    • 브라우저를 자동화 하는 tool
    • 다양한 브라우저 자동화 도구, API 및 프레임 워크의 핵심 기능을 가짐
    • SeleniumLibrary
      • Selenium 을 내부적으로 사용하는 Robot Framework 용 웹 테스트 라이브러리


Posted by 감각적신사
,
  1. opencv 란,

    • 실시간 이미지 프로세싱에 중점을 둔 라이브러리
    • 주요 지원 항목: TensorFlow , Torch / PyTorch 및 Caffe 의 딥러닝 프레임워크
  2. opencv-python

    • 설치:
    pip install opencv-python
    
  3. opencv 를 활용한 이미지 처리

    • 이미지 속 원 의 갯수 구하기
    import cv2
    import numpy as np
    
    path = '/Users/mr.sense/images/sample/colony.jpg'
    
    # 이미지 로딩
    img = cv2.imread(path)
    mask = cv2.threshold(img[:, :, 0], 255, 255, cv2.THRESH_BINARY_INV +  cv2.THRESH_OTSU)[1]
    
    stats = cv2.connectedComponentsWithStats(mask, 8)[2]
    label_area = stats[1:, cv2.CC_STAT_AREA]
    
    min_area, max_area = 50, 350  # min/max for a single circle
    singular_mask = (min_area < label_area) & (label_area <= max_area)
    circle_area = np.mean(label_area[singular_mask])
    
    n_circles = int(np.sum(np.round(label_area / circle_area)))
    
    print('Total circles:', n_circles)
    


Posted by 감각적신사
,