【梅开二度】python接口自动化-连接数据库

[复制链接]
查看1384 | 回复0 | 2020-9-7 01:41:31 | 显示全部楼层 |阅读模式
需求
加入购物车:我们加入购物车的商品必须是库里存在且上架的,我们每次加入购物车的商品不同,才能判断加入购物车功能是否可用

接口代码
首先创建一个py文件,用来连接数据库,我这里创建了个conf.py

# -*- coding: utf-8 -*-
import pymysql   #python连接mysql的驱动程序,需要用pip安装

#连接数据库
hostname = '192.168.*.*'   #被连接的数据库服务器地址
username = 'root'   #数据库账号
password = '123456'   #账号密码
dab = 'student'   #要连接的具体库名
conn = pymysql.connect(host=hostname, user=username, password=password, db=dab, charset='utf8')
cur = conn.cursor()
为什么取isbn呢,因为上边的接口里要求了,传的参数必须是isbn,所以,我这里取出来的就是isbn,具体取什么数据,需要看接口的要求。
最后再创建一个测试文件,名称为:shopping_api.py,在这个文件里边,我们把从数据库取出来的数据用上

import unittest
import requests
import json
import sys
sys.path.append('../')
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
from db_sql import *   #导入取数据文件

class Test_Apicase(unittest.TestCase):
        def setUp(self):
                self.url = '
游客,如果您要查看本帖隐藏内容请回复

                self.param = {
                                          'loginName' : '15333333333',   #登录账号
                                          'loginPwd' : '123456'   #密码
                                         }
                self.res = requests.post(self.url,params=self.param)
                self.r = self.res.headers
                self.token = self.r['api-token']  #这里是登录,因为加入购物车动作是针对某一个用户做的,所以得先登录

        def test_10add_shop(self):
                '''add_shopping'''   #用例名
                self.isbn = Sql_select().sql_addshopping()   #这里是从数据库取数据
                self.url = '
游客,如果您要查看本帖隐藏内容请回复

                self.header = {
                                                'api-token' : self.token
                                          }
                self.param = {
                                                'isbn' : self.isbn    #把从数据库取出来的数据放在这里当参数
                                         }
                self.res = requests.post(self.url,headers=self.header,params=self.param)
                self.r = self.res.json()
                print ('登录的账号是:%s\n密码是:%s' % ('15333333333','123456'))
                print ('加入购物车的isbn是:%s\n返回值是:%s\n' % (self.isbn,self.r))   #这两个打印是为了有bug的时候有依据,建议大家打印出来,方便手动确认bug
                self.assertEqual(200,self.r.get('code'))   #断言

        def tearDown(self):
                pass

if __name__=='__main__':
        suite = unittest.TestSuite()
        suite.addTest(Test_Apicase('test_10add_shop'))
        runner = unittest.TextTestRunner(verbosity=2)
        runner.run(suite)
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则