接口自动化测试,使用Python的pymysql模块连接数据库,实现增删改查操作

文章目录

  • 1、需求场景
  • 2、需求实现

1、需求场景

接口自动化测试中,需要测试A接口,该接口是获取当前图片的相关图片数据,匹配规则是:相关图片至少有4个指定标签组下的标签,需与主图片(当前图片)的标签相同。
手工测试的步骤是:
1、先到数据库resources_attrs表查询主图片关联的标签属性是哪些:结果1
2、请求相关图片接口,获取到该接口返回的相关图片ID
3、拿相关图片ID,去数据库resources_attrs表查询其的标签属性是哪些:结果2
4、比对结果1和结果2,如果有4个或4个以上标签属性相同,则测试通过
问题来了:该接口返回的数据是瀑布流展示,会返回很多数据,如果是手工测试,拿相关图片ID一个一个的去数据库查询再比对,无疑是重复且费时的,而且做接口自动化时,也需要去断言A接口返回相关图片是否符合匹配规则,显然手工验证是不可能实现的
解决方案:通过Python来测试该接口,然后通过pymysql模块来实现连接数据库查询主图片和相关图片的标签属性,再比对结果进行断言

2、需求实现

import pymysql
import unittest
import requests

# 连接数据库
db = pymysql.connect(host='127.0.0.1',
                     port=3306,
                     user='root',
                     passwd='123456',
                     db='dbname')
cur = db.cursor()
# 查询数据库的resources_attrs表中主图片关联的标签属性
# 定义变量:主图片的id,需要匹配的标签组 的 id
rid,gid1,gid2,gid3,gid4 = 43658600,63,134,152,153
cur.execute (
    "SELECT tag_id FROM `resources_attrs` WHERE resource_id = {} AND group_id in({},{},{},{})".

你可能感兴趣的:(自动化测试,python,数据库,软件测试)