수요
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