+ 요청 + 엑셀 유닛 테스트 인터페이스 자동화 된 테스트의 (a)

참고 :

  파이썬 자동화 된 테스트를 학습, 당신은 멀티 링크, 연습이 완벽을 만들지 주로 코드를 노크, 파이썬의 기초를 배울 필요가, 당신은 자격을 갖춘 프로그래머가 될 것입니다

  파이썬 기반 학습 :

    http://c.biancheng.net/python/

    https://www.runoob.com/python3/python3-tutorial.html

인터페이스 자동화 된 테스트를 작성, 당신은 그의 주인의 라이브러리를 이해해야 같은 가장 중요한 두 라이브러리와 같은, 유닛 테스트에 다음을 요구한다;

  공식 문서 : https://docs.python.org/3/library/unittest.html     유닛 테스트

  공식 문서 : http://2.python-requests.org/zh_CN/latest/user/quickstart.html는   요청

이 두 라이브러리를 마스터, 나는 할 수있는 인터페이스 테스트는 질문하지 않을 생각합니다.

 

인터페이스 테스트 포스트 (글을 쓰는 다양한 있습니다 인터페이스 테스트, 성공적이 될 수 OK)

1  #의 코딩 : UTF-8 
2  반입 유닛 테스트 시간 
 3 개  반입 요청
 4  수입 5  
6 호스트 = " http://192.168.0.175:8080 " 
7  
8  
9  데프 로그인 (S, 이름, PSW)
 10          URL = 호스트 + " /login.jsp " 
11  
12          헤더 = {
 13          " 사용자 에이전트 " : " 모질라 / 5.0 (윈도우 NT 10.0; WOW64; RV : 44.0) 게코 / 20100101 파이어 폭스 / 44.0 " ,
 14          "수락 " : " / XHTML + XML 텍스트 / HTML 파일 응용 프로그램, 파일 응용 프로그램 / XML, Q = 0.9, * / *; Q = 0.8 " ,
 15          " 수락 - 언어 " : " ZH - 더 CN, ZH를, Q = 0.8, EN을 - 미국; Q = 0.5, EN; Q = 0.3 " ,
 16          " 더 - 인코딩 수락 " : " 는, GZIP은 DEFLATE을 " ,
 . 17          " 리퍼러 " : 호스트 + " /zentao/user-login.html " ,
 18는          # "쿠키 " 여기 쿠키 로그 유지하는 것입니다 때문에 # 머리 전에, 로그인 쿠키를 통과하지 못한 
19          " 연결 ": "연결 유지 " ,
 20          " 의 Content-Type을 " : " 응용 프로그램 / x-www-form-urlencoded를 " ,
 21          }
 22  
23          데이터 = { ' os_username ' : ' 관리자 ' ,
 24                  ' os_password를 ' : ' 123456 ' ,
 25                  ' os_destination ' : ' ' ,
 26                  ' USER_ROLE ' : ' ' ,
27                  'atl_token은 ' : ' ' ,
 28                  ' 로그인 ' : ' % E7 E5 %%% 99 % BB 95 %는 BD ' 
(29)                  }
 (30)  
(31)는          #의 S = requests.session () 죽은에게 세션 쓰지 않는다 
(32)  
(33)는          R1 = s.post (URL , 데이터 = 데이터, 헤더 = 헤더)
 (34)          반환 r1.content
 35  
36  DEF의 : is_login_sucess (RES)
 37          경우  " 로그인 실패 제대로 작성 사용자 이름이나 암호를 확인하십시오. "  에서 RES :
 38                  반환 거짓
 (39)          ELIF를  "parent.location = "  에서 입술 :
 40                  리턴 트루
 41          다른 :
 42                  리턴 거짓
 43  
44  경우  __name__ == " __main__ " :
 45          S = requests.session ()
 46          A = 로그인 (S, " 관리자 " , " 123456 " )
 (47)          인쇄 (is_login_sucess (a))    

 

패키지 인터페이스 : 포스트와 수 (인터페이스 자동화 된 테스트 프레임 워크를 구축, 캡슐화는 더 편리 할 수 ​​있습니다)

수입 요청을
 가져올 JSON의
 클래스 RunMain을 :
     데프 send_get (자기, URL, 데이터) : 
        고해상도 = requests.get (URL = URL,있는 params =의 json.dumps (데이터) .json ()
         반환 고해상도 

    데프 send_post (자기, URL, 데이터) : 
        입술 = requests.post (URL = URL 데이터의 = json.dumps (데이터)) JSON ().
         돌아 오지 입술 

    DEF run_main (자체, URL에있어서, 데이터 = 없음)
         의 경우 에있어서 == ' POST ' : 
            입술 = self.send_post (URL, 데이터)
         다른 사람 :
            입술 = self.send_get URL (데이터)
         복귀 입술 

경우  __name__ == " __main__ " : 
    URL = " http://192.168.0.157:18005/oauth/token " 
    데이터 = {
             " 클라이언트 ID ' : ' ut.usscity.com ' ,
             ' 비밀번호 ' : ' 123456 ' ,
             ' userName에 ' : ' 관리자 ' ,
            'VerificationCode는 ' : ' ' ,
             ' VerificationCodeKey ' : " f7dc3967-BFBC-4a0f-9e2d-4d6e403d10a1 " 
        } 
    테스트 = RunMain ()
     인쇄 (test.run_main (URL, ' POST를 ' , 데이터))

운영 매개 변수는 수익을 얻을 수있다

 

 반환 매개 변수는 단지 Navicat는 등, 조경 될 수있다

클래스 RunMain : 
    데프 send_get (자기, URL, 데이터) : 
        고해상도 = requests.get (URL = URL,있는 params = 데이터) .json () 
        #return 입술 
        json.dumps (고해상도, 들여 쓰기 = 2, sort_keys = 거짓, ensure_ascii 반환 = 거짓) 

    데프 send_post (자기, URL, 데이터) : 
        고해상도 = requests.post (URL = URL, 데이터 =의 json.dumps (데이터).) JSON () 
        #return 입술 
        json.dumps (고해상도, 들여 쓰기 = 2를 반환 sort_keys = 거짓, ensure_ascii = 거짓)

  결과는 매개 변수를 반환

 

 

 매일 조금 알아, 미래는 당신입니다

 

추천

출처www.cnblogs.com/hemingwei/p/11543243.html