python + requests + json 인터페이스 테스트 사고방식 예시
5521 단어 jmeter
실제 항목 에서 python 스 크 립 트 로 인터페이스 테스트 를 수행 하 는 절차:
1. 요청 을 보 내 고 응답 을 가 져 옵 니 다 '2. 응답 에 있 는 데 이 터 를 추출 하고 데이터 에 필요 한 처 리 를 합 니 다' 3. 응답 데이터 가 예상 과 일치 하 는 지 여 부 를 단언 합 니 다.
콩잎 인 터 페 이 스 를 예 로 들 면 간단 한 인터페이스 테스트 를 해 보 자.사용 한 지식 은 requests 라 이브 러 리, json 라 이브 러 리 와 관련된다.
1 요청 보 내기, 응답 가 져 오기
#coding:utf-8
'''
dinghanhua
2018-11-10
json ,
'''
import requests
import json
q = 'python'
count = 3
url = 'https://api.douban.com/v2/book/search?q={0}&count={1}'.format(q,count)
response = requests.get(url) #
2 json 분석 응답 데이터
jsonstr = json.loads(response.text) #json
# jsonstr = response.json()
''' '''
print(' :',type(jsonstr)) #dict
print(' :',len(jsonstr)) #
for key in jsonstr: # keys
print(key ,end=' ')
3 추출 데이터 및 데이터 처리
''' json '''
books = jsonstr['books'] # books
# print(type(books)) #list
print('books %d '%len(books)) #
for book in books: # books
# print(type(book)) # book
# for key in book: # book keys
# print(key)
''' '''
index = books.index(book) #
NO = str(index+1) #
average= book['rating']['average']
author = book['author'] #author ,
authors = ','.join(author)
pubdate = book['pubdate']
title = book['title']
author_intro = book['author_intro']
summary = book['summary']
price = book['price']
''' '''
print('NO.{NO}
:{title}
:{pubdate}
:{average}
:{price}
'
' :{author}
{author_intro}
:{summary}'.format(title = title,
NO = NO,
pubdate = pubdate,
author = authors,
author_intro = author_intro,
average = average,
price = price,
summary = summary))
단언
''' '''
expectedtitle = ['Python : ',' Python ','Python '] # ( , )
if title == expectedtitle[index]:
print('test pass')
else:
print('test fail. The expected title is %s,but the actual title is: %s.'%(expectedtitle[index],title))
자, 간단 한 인터페이스 테스트 스 크 립 트 가 완료 되 었 습 니 다.전체 코드:
#coding:utf-8
'''
dinghanhua
2018-11-10
json ,
'''
import requests
import json
q = 'python'
count = 3
url = 'https://api.douban.com/v2/book/search?q={0}&count={1}'.format(q,count)
response = requests.get(url) #
jsonstr = json.loads(response.text) #json
#jsonstr = response.json()
''' '''
print(' :',type(jsonstr)) #dict
print(' :',len(jsonstr)) #
for key in jsonstr: # keys
print(key ,end=' ')
''' json '''
books = jsonstr['books'] # books
# print(type(books)) #list
print('books %d '%len(books)) #
for book in books: # books
# print(type(book)) # book
# for key in book: # book keys
# print(key)
''' '''
index = books.index(book) #
NO = str(index+1) #
average= book['rating']['average']
author = book['author'] #author ,
authors = ','.join(author)
pubdate = book['pubdate']
title = book['title']
author_intro = book['author_intro']
summary = book['summary']
price = book['price']
''' '''
print('NO.{NO}
:{title}
:{pubdate}
:{average}
:{price}
'
' :{author}
{author_intro}
:{summary}'.format(title = title,
NO = NO,
pubdate = pubdate,
author = authors,
author_intro = author_intro,
average = average,
price = price,
summary = summary))
''' '''
expectedtitle = ['Python : ',' Python ','Python '] #
if title == expectedtitle[index]:
print('test pass')
else:
print('test fail. The expected title is %s,but the actual title is: %s.'%(expectedtitle[index],title))
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux에서 Jmeter 실행 및 테스트 보고서 생성1. Linux 서버에 jdk 설치 1. 클라이언트에서 jdk-8u181-linux-i586을 다운로드합니다.tar.gz, 서버에 다시 업로드 chmod -x jdk 패키지 파일 이름 2, 스트레스 해소: tar-x...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.