上一篇文章我們已經(jīng)知道如何使用python來實(shí)現(xiàn)增加一門不存在的課程自動(dòng)化用例,本篇文章繼續(xù)來鞏固“如何實(shí)現(xiàn)修改一門課程自動(dòng)化用例”。希望感興趣的小伙伴可以堅(jiān)持看下去同時(shí)歡迎提出寶貴的意見讓我們一起進(jìn)步蹈垢!
01:修改課程接口自動(dòng)化測(cè)試用例
(1)用例名稱:修改一門培訓(xùn)課程信息
(2)操作步驟:
1.使用工具調(diào)用修改課程API來修改一門課程,修改后的課程名在系統(tǒng)中不存在
2.使用工具調(diào)用列出課程API查看課程是否正確修改
(3)期望結(jié)果:
1.返回結(jié)果成功骚秦,http消息體內(nèi)容如下:{ "retcode": 0}
2.列出課程接口返回已修改的課程信息
02:修改課程接口自動(dòng)化實(shí)例化操作
1)URL寫在config配置文件中
api_server='localhost'
2)定義修改課程函數(shù)
import requests
from pprint import pprint
import src.api.config as config
#修改課程
def modify_course(cid,name,desc,display_idx):
body={
'action': 'modify_course',
'id':cid,
'newdata': f'''
{{
"name":"{name}",
"desc":"{desc}",
"display_idx":"{display_idx}"
}}'''}
res = requests.put(f'http://{config.api_server}/api/mgr/sq_mgr/',
data=body,
cookies={'sessionid':g_sessionid})
ret_obj = res.json()
pprint(ret_obj)
return ret_obj
3)調(diào)用登錄畔咧、創(chuàng)建課程趣效、列出課程普碎、修改課程函數(shù)且處理響應(yīng)數(shù)據(jù)
import random
from src.api.lib.api_lib import add_course, list_course, login,modify_course
import traceback
try:
# 登錄
login('auto', 'sdfsdfsdf')
#先添加一門課程再進(jìn)行修改
courselist1 = list_course()['retlist']
course_name = 'python_' + str(random.randint(0, 100000000))
addret_obj = add_course(course_name,
'python基礎(chǔ)課程',
'1')
#獲取增加的課程id
cid=addret_obj['id']
#修改課程之前列出課程,獲取返回結(jié)果
courselist1 = list_course()['retlist']
#再修改課程
newcourse_name = 'python_' + str(random.randint(0, 100000000))
display = 2
modify_ret=modify_course(cid,newcourse_name,'python基礎(chǔ)課程', display)
#檢查修改的課程retcode是否為0
assert modify_ret['retcode']==0
#修改課程之后列出課程丑蛤,獲取返回結(jié)果
courselist2 = list_course()['retlist']
# 檢查數(shù)量是否相同
if len(courselist2) - len(courselist1) == 0:
print('檢查點(diǎn)通過:課程數(shù)量相同')
else:
print('檢查點(diǎn)失敵τА:課程數(shù)量不同')
#遍歷找出修改的課程
courselist = []
for one in courselist2:
if one not in courselist1:
courselist.append(one)
for course in courselist:
assert course['id'] == cid
assert course['name'] == newcourse_name
assert course['desc'] == 'python基礎(chǔ)課程'
assert course['display_idx'] == display
print('\n********用例002執(zhí)行通過********\n')
except :
print('\n********用例002執(zhí)行失敗********\n',traceback.format_exc())