python + requests + json 인터페이스 테스트 사고방식 예시

5521 단어 jmeter
원본 링크:https://blog.csdn.net/tang_qaz/article/details/87857377
실제 항목 에서 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))

좋은 웹페이지 즐겨찾기