美文网首页
Web API05-实现修改课程接口自动化实例

Web API05-实现修改课程接口自动化实例

作者: 筱媛媛 | 来源:发表于2019-07-08 17:59 被阅读0次

上一篇文章我们已经知道如何使用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 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)调用登录、创建课程、列出课程、修改课程函数且处理响应数据

import random
from src.api.lib.api_lib import add_course, list_course, login,modify_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']
    #再修改课程
    newcourse_name = 'python_' + str(random.randint(0, 100000000))
    display =  2
    modify_ret=modify_course(cid,newcourse_name,'python基础课程', display)
    #检查修改的课程retcode是否为0
    assert modify_ret['retcode']==0
    #修改课程之后列出课程,获取返回结果
    courselist2 = list_course()['retlist']
    # 检查数量是否相同
    if len(courselist2) - len(courselist1) == 0:
        print('检查点通过:课程数量相同')
    else:
        print('检查点失败:课程数量不同')
    #遍历找出修改的课程
    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基础课程'
        assert course['display_idx'] == display
    print('\n********用例002执行通过********\n')
except :
    print('\n********用例002执行失败********\n',traceback.format_exc())

相关文章

网友评论

      本文标题:Web API05-实现修改课程接口自动化实例

      本文链接:https://www.haomeiwen.com/subject/qlgbhctx.html