zoukankan      html  css  js  c++  java
  • python使用笔记29--代码驱动

     1 import unittest
     2 import requests
     3 import jsonpath
     4 import time
     5 import nnreport
     6 
     7 def get_value(d,key,expr=False,more=False):
     8     if expr:
     9         jp = jsonpath.jsonpath(d,key)#获取json字符串里某个key的值,返回的是[]
    10     else:
    11         jp = jsonpath.jsonpath(d, '$..%s' % key)  # 获取json字符串里某个key的值,返回的是[]
    12 
    13     if jp:
    14         if more:
    15             return jp
    16         else:
    17             return jp[0]
    18 
    19 
    20 class LiteMallBase(unittest.TestCase):
    21     username = "admin123"
    22     password = username
    23     host = "http://127.0.0.1:8080"
    24 
    25     def login(self):
    26         '''登录'''
    27         url = self.host + '/admin/auth/login'
    28         data = {'username': self.username, 'password': self.password}
    29         r = requests.get(url, json=data)
    30         token = get_value(r.json(), 'token')
    31         self.assertIsNotNone(token, msg='获取不到token值')
    32         return token
    33 
    34     def create_coupon(self, name, token, money):
    35         '''建券'''
    36         url = self.host + "/admin/coupon/create"
    37 
    38         data = {"name": name, "desc": "优惠券111",
    39                 "total": "999", "discount": 100, "min": money,
    40                 "limit": 1, "type": 0, "status": 0, "goodsType": 0,
    41                 "goodsValue": [], "timeType": 0, "days": "10",
    42                 "startTime": None, "endTime": None}
    43         headers = {'X-Litemall-Admin-Token': token}
    44         r = requests.get(url, json=data, headers=headers)
    45         cid = get_value(r.json(), 'id')
    46         cname = get_value(r.json(), 'name')
    47         errno = get_value(r.json(), 'errno')
    48         self.assertEqual(errno, 0, msg='创建券失败%s' % errno)
    49         self.assertEqual(name, cname, msg='创建券名和返回的不一致')
    50         return cid
    51 
    52     def index_data(self):
    53         '''查询首页数据'''
    54         url = self.host + '/wx/home/index'
    55         r = requests.get(url)
    56         errno = get_value(r.json(), 'errno')
    57         self.assertEqual(errno, 0, msg="首页数据查询失败")
    58         return r.json()
    59 
    60 class CouponCreate(LiteMallBase):
    61     def test_create_coupon(self):
    62         '''建券测试'''
    63         name = "自动化测试%s-优惠券" % int(time.time())
    64         token = self.login()
    65         cid = self.create_coupon(name,token,9999)
    66         index_data = self.index_data()
    67         coupon_ids = get_value(index_data,'$.data.couponList..id',True,True)
    68         self.assertIn(cid,coupon_ids,msg='创建的券ID不存在,不存在的ID是%s'%cid)
    69 
    70 
    71 suite = unittest.makeSuite(CouponCreate)
    72 report = nnreport.BeautifulReport(suite)
    73 report.report(description='建券测试报告',filename='建券测试报告.html')
  • 相关阅读:
    array and ram
    char as int
    pointer of 2d array and address
    Install SAP HANA EXPRESS on Google Cloud Platform
    Ubuntu remount hard drive
    Compile OpenSSL with Visual Studio 2019
    Install Jupyter notebook and tensorflow on Ubuntu 18.04
    Build OpenCV text(OCR) module on windows with Visual Studio 2019
    Reinstall VirtualBox 6.0 on Ubuntu 18.04
    Pitfall in std::vector<cv::Mat>
  • 原文地址:https://www.cnblogs.com/cjxxl1213/p/13215508.html
Copyright © 2011-2022 走看看