로봇 프레임 워 크 테스트

링크
우세 하 다.
  • 서로 다른 개발 언어 플랫폼,java/python
  • 지원
  • 은 api 테스트 에 사용 되 는 동시에 ui 인터페이스
  • 테스트 에 도 사용 할 수 있 습 니 다.
  • 위조 코드 를 사용 하여 case 를 작성 합 니 다.간단 하고 이해 하기 쉬 우 며 학습 원가 가 낮 습 니 다
  • 가짜 코드 에서 Python 코드
  • 을 실행 할 수 있 습 니 다.
  • 그러나 python 을 사용 하여 의사 코드 키 워드 를 정의 합 니 다
  • 인터페이스 가 풍부 하고 사용자 정의 정도 가
  • 입 니 다.
    열세
  • 일정한 학습 원가 가 있다
  • 설치 하 다.
  • 설치 robot framework
    pip install robotframework
  • 설치 http 요청 확장 팩 robotframework-requests
    pip install robotframework-requests
  • 공유 키 정의
    http 요청 중 일부 공유 내용 이 있 습 니 다.예 를 들 어 header.
  • config 폴 더 에 variables.robot 을 새로 만 들 때 자주 사용 하 는 인자
  • 을 설정 합 니 다.
    *** Settings ***
    Documentation     variables  
    
    *** Variables ***
    ${Host}          http://www.domian.com/   #      
    ${User-Agent}     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0    #      
    ${Accept}         text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    ${Content-Type}     application/x-www-form-urlencoded
    ${Content-Type-Json}     application/json
    ${Accept-Language}    en-US,en;q=0.5
    ${Accept-Encoding}    gzip, deflate
    ${Cookie}         9
    ${Connection}     keep-alive
    ${Cache-Control}    max-age=0
    ${Upgrade-Insecure-Requests}    1
  • 만 들 기 defined.robot 서로 다른 유형의 header
  • 설정
    *** Settings ***
    Resource  variables.robot  #       
    
    *** Keywords *** #       
    headers # web header 
        ${dict_headers}    Create Dictionary    Host=${Host}    User-Agent=${User-Agent}    Accept=${Accept}    Accept-Language=${Accept-Language}    Accept-Encoding=${Accept-Encoding}
        ...    Connection=${Connection}    Cache-Control=${Cache-Control}
        Return From Keyword    ${dict_headers}
    
    api_headers # api header
        ${api_headers}  create dictionary  Content-Type=application/x-www-form-urlencoded
           Return From Keyword    ${api_headers}

    사용자 정의 함수 작성
    py 파일 functions.py 을 만 들 고 사용자 정의 함 수 를 작성 하여 사용자 정의 장면 을 해결 합 니 다.예 를 들 어 제 이 슨 데이터 가 져 오기,암호 화 데이터 가 져 오기 등
    # coding=utf-8
    import json
    
    
    #   json 
    def json_d(**params):
        return json.dumps(params)

    테스트 용례 작성
    테스트 용례 baidu_auth.robot 작성
    *** Settings ***
    Suite Teardown    Delete All Sessions
    Resource  ../config/defined.robot
    Library  ../py_codes/functions.py
    Library           Collections
    Library           String
    Library           RequestsLibrary
    Library           OperatingSystem
    
    *** Test Cases ***
    Case One    #case name
        Test Baidu Auth   ebe4d31d84ffd1d300267f2eceeedecc    sasdasdazxczx
        # keywords  arguments       
    Case Two
        Test Baidu Auth   ebe4d31d84ffd1d300267f2eceeedecc    sasdasdazxczx
    
    *** Keywords ***
    Test Baidu Auth
        [Arguments]    ${code}    ${uuid}
        [Tags]    baidu auth
        Create Session    httpbin   http://www.domian.com/
        ${data}=    json_d  code=${code}    uuid=${uuid}    #      json_d     json 
        ${params}=  create dictionary  oauth_data=${data}
        ${header}   api_headers
        ${resp}=    Post Request    httpbin    /cloud_disk/oauth/baiduAccessToken        data=${params}    headers=${header}
        should be equal as strings    ${resp.status_code}    200    #    http code   200
        log    ${resp.json()}   #      
        should be equal as integers    ${resp.json()["status"]}    0    #              0
  • keywords 개 에서 요청 내용 을 정의 하고 keywords 개 를 하나의 함수 로 할 수 있 으 며 Arguments 개 는 이 함수 에 들 어 오 는 내용 으로 예 를 들 어 인터페이스 에 올 라 오 는 두 개의 인자 만 들 어 왔 다.물론 원 하 는 결 과 를 키워드 에 넣 고 요청 한 결과 가 기대 에 부합 하 는 지 단언 하 는 방식 으로 판단 할 수도 있다.
  • test cases 은 테스트 내용 을 정의 하 는 곳 으로 keywords 에 설 치 된 arguments 에 맞 춰 기대 전달 파 라미 터 를 설정 합 니 다.프레임 워 크 는 위치 에 따라 매개 변 수 를 일일이 대응 하 며,동시에 몇 개의 케이스 가 있 으 면 몇 번 의 요청 을 합 니까?
  • settings 개 에서 이 테스트 에 필요 한 자원 과 라 이브 러 리 를 정의 합 니 다.예 를 들 어 이전에 정 의 된 공 유 는 headers 개 에서 settings 개 로 도입 되 었 고 Resource 개 는 functions.py 개 로 도입 되 었 다.
  • 은 python 방법 을 정의 하 는 형식 으로 사용자 정의 작업 을 하 는 것 을 제외 하고 Library 파일 에서 python 함 수 를 직접 실행 할 수 있 습 니 다.예 를 들 어 MD5 값
  • 이 필요 합 니 다.
        ${MD5}    Evaluate    hashlib.md5('hello'.encode(encoding='utf8')).hexdigest()    hashlib
    robot 키 워드 를 사용 하여 실행 후 따 르 는 python 코드 를 사용 하고 네 번 째 위치 에 import 가 필요 한 가방 이름 을 가 져 오 면 됩 니 다.
    테스트 용례 실행
    robot cases/baidu_auth.robot     #      robot
    robot cases                      #   cases      robot
  • 이 실 행 된 후에 세 개의 파일 이 생 성 되 고 테스트 사례 가 실 행 된 결 과 를 통계 하여 로 그 를 생 성하 여 쉽게 볼 수 있 습 니 다.
  • robot 명령 은 로 그 를 만 드 는 파일 의 디 렉 터 리 를 지정 하고 tag 에 따라 테스트 사례 를 실행 하 는 등
  • 인자 도 풍부 합 니 다.

    좋은 웹페이지 즐겨찾기