첫 번째 인터페이스 자동화 프레임 워크

수요 
1 자동화 1 인터페이스 프레임
1 데이터 URL을 획득하기 위해, 엑셀 읽기 요청 모드 파라미터는 검사
2 호출 인터페이스가 취득 결과를 반환
예에 있는지 여부를 확인하여, 3
(4), 리포트를 생성하기를 메일

조작
1 . 새로운 폴더

   

2.readme.md

3.config - 설정

수입 OS의
 수입 사기꾼
 에서 lib.util 가져 오기 random_password 


EMAIL_INFO = {
     ' 사용자 ' : ' [email protected] ' ,
     ' 호스트 ' : ' smtp.163.com ' ,
     ' 비밀번호 ' : ' houyafan123 ' 
} 

TO = [ ' 511402865 @ qq.com ' , ' [email protected] ' , ' QQ @ 526962645.와 '] 

공통 = ' [email protected] ' , ' [email protected] ' ] 
# ----------- 다음 상수를 정의 -------------- # ---- BASE_PATH
= os.path.dirname (os.path.dirname (os.path.abspath는 ( __FILE__ ))) # os.path.abspath의 현재 디렉토리 경로 (ATP의 경로)를 얻을 수있는 dirname는 구할 디렉토리 CASE_PATH = os.path.join (BASE_PATH는 ' 케이스 ' )의 경우 폴더 디렉토리 #join 함께 넣어 log_path에 = os.path.join (BASE_PATH, ' 로그 ' , ' atp.log ' ) # REPORT_PATH = 운영 체제를. path.join (BASE_PATH, ' 보고서 ') ## ------------------------------------------ F = faker.Faker (로케일 = ' ZH - 더 CN ' ) ENV = ' 테스트 ' #의 기본 테스트 환경 host_map = { " 테스트 " : " http://api.nnzhp.cn " , " DEV " : " http://118.24.3.40 : 81 / " , " " : " http://api.nnzhp.cn/ " , } HOST = host_map.수 (ENV) func_map = { " <전화> " : f.phone_number, " <id_card> " : f.ssn, " <이메일> " : f.email, " <이름> " : F.Name, " <요지> " : F .Address는 " <비밀번호> " : random_password } # 여기에 다른 매개 변수를 추가하려면이이 파라미터를 지원하는 라인에 추가하는 것을 계속한다.

4.lib--read_case.py

관련 데이터를 찾을 수 A. jsonpath 모듈 설치, 쉽게

가져 오기 jsonpath의 

D = {
     " STU " : {
         " 섹스 " : ' M ' ,
         " 하우스 " : {
             " 베이징 " : { " " : 5, " 삼환계 " : 4 },
             " 상하이 " : { " 푸동 " :. 4 } 
        } 
    }, 
    " STU2 " : 'ABC ' 
}
결과 = jsonpath.jsonpath (D, ' $ ... 베이징 ' ) 

인쇄 (D [ ' STU ' ] [ ' ' ] [ ' 상하이 ' ] [ ' 푸동 ' ])
 인쇄 (결과)

새로운 템플릿 B.config 케이스

C. 편집 엑셀, 데이터 수집을 읽어 read_case.py--

D.atp 인스턴스화 --setting의 예

= func_map {
     " <전화> " : f.phone_number,
     " <id_card> " : f.ssn,
     " <이메일> " : f.email,
     " <이름> " : F.Name,
     " <요지> " : F .Address는
     " <비밀번호> " : random_password 
} # 여기에 다른 매개 변수를 추가하려면이이 파라미터를 지원하는 라인에 추가하는 것을 계속한다.

사용 위조자 모듈

수입 위조자의 

F = faker.Faker (로케일 = ' 에서 zh-CN ' ) 

#에 인쇄 (f.ssn ()) 
#에 인쇄 (f.phone_number ()) 
#에 인쇄 (f.email ()) 
#에 인쇄 (f.address ( )) 
#에 인쇄 (f.name ()) 
가져 , 임의의 문자열 

데프 ()을 random_password = random.sample (string.digits 2 ) 
    B   = random.sample (string.ascii_letters 2 ) 
    C   = random.sample ( string.ascii_uppercase 2 ) 
    D   = random.sample (string.punctuation 2 ) 
    결과 = A + B + C +개발 
    random.shuffle (결과) 
     ' .join (결과) 


func_map = {
     " <전화> " : f.phone_number,
     " <id_card> " : f.ssn,
     " <이메일> " : f.email,
     " < > 이름 " : f.name를
     " <ADDR> " : f.address를
     " <암호> " : random_password 
} 


데프 replace_param (들)
     에 대한 FUNC_NAME, FUNC func_map.items () :
        경우 FUNC_NAME 에서S : 
            결과 = FUNC () 
            S = s.replace 않습니다 (FUNC_NAME, 결과)
     반환 S의 

#의 replace_param ( "사용자 이름 = <전화>의 passwd를 = 123456, ADDR = <요지>, id_card = <id_card>") 

#의 사용자 이름 = 15539055994 , ADDR = 신장 지역 시장 Xunyang Caolu A 동 498 (947), id_card = 451,123,197,106,055,998, passwd를 = 123456 
DEF의 str_to_dict (S) : 
    D = {}
     에 대한 T 에서 s.split ( ' , ' ) 
        K, V = T .split ( ' = ' ) 
        D [K] = V의
     복귀 D

 

E. 패키지 LIB 요청 요청 클래스

F. 검사 결과 LIB-parse_response

 

 

 

  

 

추천

출처www.cnblogs.com/kexinwang/p/11256705.html