上一篇文章已经知道如何使用python来实现修改一门课程自动化用例,本篇文章继续来巩固“如何实现删除一门课程自动化用例”。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
01:删除课程接口自动化测试用例
(1)用例名称:删除一门培训课程的信息
(2)操作步骤:
1.使用工具调用删除课程API来删除一门课程
2.使用工具调用列出课程API查看课程是否正确删除
(3)期望结果:
1.返回结果成功,http消息体内容如下:{ "retcode": 0}
2.列出课程接口返回的结果少一门已删除的课程信息
02:删除课程接口自动化实例化操作
1)URL写在config配置文件中
api_server='localhost'
2)定义删除课程函数
import requests
from pprint import pprint
import src.api.config as config
#删除改课程
def delete_course(cid):
body={
'action': 'delete_course',
'id':cid}
res = requests.delete(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)调用登录、创建课程、列出课程、删除课程函数且处理响应数据
import random
from src.api.lib.api_lib import add_course, list_course, login,delete_course
import traceback
try:
# 登录
login('auto', 'sdfsdfsdf')
#先添加一门课程再进行删除
courselist1 = list_course()['retlist']
course_name = 'python_' + str(random.randint(0, 100000000))
addret_obj = add_course(course_name,
'python基础课程',
'1')
#获取增加的课程id
cid=addret_obj['id']
#删除课程之前列出课程,获取返回结果
courselist1 = list_course()['retlist']
#再删除课程
delete_ret=delete_course(cid)
#检查删除的课程retcode是否为0
assert delete_ret['retcode']==0
#删除课程之后列出课程,获取返回结果
courselist2 = list_course()['retlist']
#遍历找出删除的课程,判断后一个比前一个少一门课程
courselist = []
for one in courselist1:
if one not in courselist2:
courselist.append(one)
# 检查数量是否相同
assert len(courselist)==1
for course in courselist:
assert course['id'] == cid
print('\n********用例003执行通过********\n')
except :
print('\n********用例003执行失败********\n',traceback.format_exc())