• 0
  • 0
分享
  • 测试工具python版——软件测试圈
  • TIMI 2021-08-10 10:29:13 字数 2839 阅读 1331 收藏 0

index:

  1. 比较两列表元素(不考虑顺序,不考虑重复);

  2. 调get型数据库接口,循环造数据(示例);

  3. 连接操作mysql数据库;

  4. 多进程执行pytest UI脚本(示例)。

1、比较两列表元素(不考虑顺序,不考虑重复)

def compareList(list1, list2):
    """比较列表元素,不考虑顺序,不考虑重复"""
    if sorted(set(list1)) == sorted(set(list2)):
        print('\n不考虑顺序,不考虑重复时,两个列表等价')
    else:
        a, b = [], []
        exist = 0
        for i in list1:
            for j in list2:
                if i == j:
                    exist = 1
                    break
                else:
                    exist = 0
            if exist == 0:
                a.append(i)
        for j in list2:
            for i in list1:
                if j == i:
                    exist = 1
                    break
                else:
                    exist = 0
            if exist == 0:
                b.append(j)
        print(f'\n两个列表不等价,列表1独特元素是:{a} \n两个列表不等价,列表2独特元素是:{b}')

效果:

1.jpg

2、调get型数据库接口,循环造数据(示例)

import requests,json,random
def send_get(url,params,headers={}):
    """get型接口调用"""
    response=requests.get(url=url,params=params,headers=headers)
    res_dict=json.loads(response.text)
    return res_dict
tasktype=['新建','活动中','已完成']
state=['取消','搁置','已完成']
url = 'https://xxx.yyy.zzz:18030/jdbcplat/update'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
for i in range(10001):
    sql=f'''
    insert into base_tasklist (id,tasktype,state) 
    values(10678+{i},{random.choices(tasktype)},{random.choice(state)})
    '''
    params={'server':'dlpt','sql':sql}
    print(send_get(url,params,headers))

3、连接操作mysql数据库

# coding=utf-8
# encoding: utf-8
"""
Author:刘源
Createtime:2021/08/08 14:25:42
Updatetime:2021/08/08 14:25:42
Description:
"""
import time, sys
# 上下文管理器,自动关闭文件,自动处理文件冲突
with open('tt21.txt', 'a') as f:
    f.write(f'{__file__}运行记录:')
    f.write(time.ctime())
    f.write('---' + str(time.time()) + '\n')
    print(sys.path)
# 连接mysql数据库
import MySQLdb
db = MySQLdb.connect(host="192.168.1.103", user="root",passwd= "Liuyuan3.14", db="tt1", charset='utf8',port=3306)
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)
sql1='''select * from users'''
sql2="""INSERT INTO tt1.users (id, name, chinese, math, English, physics) 
VALUES (8, '冯锐', 77, 73, 93, 59);"""
# 使用execute方法执行SQL语句
cursor.execute(sql2)
db.commit() #增删改,需要提交;查询不用
cursor.execute(sql1)
# 使用 fetchone() 方法获取一条数据
data1 = cursor.fetchall()
for i in data1:
    print('select * from users',i)
# 关闭数据库连接
db.close()

效果:

2.jpg

注意,mysql连接失败原因可能有如下,可逐一排除:

①Linux防火墙没关→systemctl stop firewalld,临时关闭它(不建议通过配置文件永久关闭)

②SeLinux模块的阻碍→setenforce 0,临时设置为带警告的强制执行模式(不建议通过配置文件永久关闭)

③服务器ip地址错误,尤其不是固定ip,又没域名映射、自动转换时→确定正确ip

④mysql没开启指定用户在指定ip的远程连接权限→自行设置哦

⑤Linux没有监听所有ip的连接请求→netstat -anop | grep -in mysql,自行验证下

⑥其他原因,比如系统升级,版本升级→试试重启,重启解决一半问题

4、多进程执行pytest UI脚本(示例)

3.jpg

效果:

4.jpg


作者:站在在巨人的肩膀上看世界

原文链接:https://blog.csdn.net/Tiandao60/article/details/119491807

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 增加1、要添加的数据项均合理,检查数据库中是否添加了相应的数据;2、按照边界值等价类设计测试用例的原则设计其他输入项的测试用例,有效等价类应能成功保存,无效等价类应有相应提示;3、不符合要求的地方要有错误提示;留出一个必填数据为空,是否有提示信息;唯一性数据的增加,如果添加重复数据,是否有相应提示;字符数校验,是否都超长文本做了字符数限制校验,并有相应的提示信息;日期类型是否有校验,输入错误格式或不合理的时间范围内取值,是否有相应提示信息;数字型校验,主要根据整数、正整数、负整数、小数、正小数、负小数等,根据实际需求情况进行测试校验,不符合要求应有相应提示信息;特殊格式,如手机号码、电子邮件、...
            11 11 1117
            分享
          •   乔梁在MTSC大会上分享了主题为《一致性是研效提升的必经之路》的演讲,演讲内容主要是如何提高软件研发效率。他从香农在信息论中的熵增定律出发,讲到像软件这样的复杂系统,必须尽可能减少不确定性因素的影响,努力提高软件研发的一致性,从而达到提高软件研发效率的目的。本文主要基于熵增定律,探讨该定律对软件测试行业是否存在指导作用。  首先,我们回顾一下什么是熵增定律。这原本是热力学中的概念,一个孤立系统总是趋向于熵增,最终达到熵的最大状态,也就是系统的最混乱无序状态。1948年,香农将热力学的熵,引入到信息论。  对于一个信息系统,如果没有外力作用,最终也会达到信息熵最大的状态,信息系统会越来越混乱...
            0 0 1251
            分享
          •   创建测试用例  测试用例保存一系列测试步骤以及预期的结果。下面的步骤将解释如何创建测试用例以及测试步骤。  第1步:单击面板左侧“用例管理”文件夹树结构下的目录,选择第三级或第四季目录  第2步:右上角有“新增”按钮  点击“新增”,弹出用例编写页面。  输入用例内容,点击“立即提交”。  注意事项:在用例列表中,点击用例标识名,可跳转至用例详情页面,该应用提供了自动化地址的获取功能,请及时更新自动化地址,点击地址可跳转到代码界面。  Excel导入测试用例  第1步:在目录树选择第二级目录(支持二级、三级、四级,多级目录),点击“模板下载”下载模板 (下载模版后,请认真阅读sheet里面...
            14 14 1344
            分享
          • 环境: win10VMware版本: 12 pro使用的客户机系统:Windows Server 2003 Enterprise Edition (是从班级电脑里拷贝出来的已经设置好,并可以使用的客户机)问题描述:        出现问题的截图已经删掉了,所以暂时就先这样记录文件夹不能从主机上复制粘贴到客户机中  -------- 复制粘贴(直接拖拽情况),客户机显示文件拖拽进度条,但是没有任何动静,客户机卡住,没有反应,并且无法将客户机挂起、关机强制退出虚拟机后,重新进入会出现说客户机正在使用...
            0 0 1119
            分享
      • 51testing软件测试圈微信