Python脚本批量造数据、跑定时任务协助测试

这篇具有很好参考价值的文章主要介绍了Python脚本批量造数据、跑定时任务协助测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

批量造数据

  • 连接Mysql的信息
 1 import pymysql
 2 # 数据库连接信息
 3 # 多个库要有多个conn
 4 conn = pymysql.connect(
 5     host="主机",
 6     user="用户名",
 7     password="密码",
 8     database="库名"
 9 )
10 conn1 = pymysql.connect(
11     host="主机",
12     user="用户名",
13     password="密码",
14     database="库名"
15 )
16 
17 # 创建游标对象
18 cursor = conn.cursor()
19 cursor1 = conn1.cursor()
20 
21 # 执行对应的SQL
22 cursor.execute
23 # 获取执行结果
24 Result=cursor.fetchall()

  场景一:基于已有的csv文件,分批次读取csv文件中的字段值作为变量填充到执行的SQL语句

  • 分批读取csv文件中的值
 1 csv_file_path = 'csv文件目录'
 2 with open(csv_file_path, 'r',encoding='utf-8') as file:
 3     reader = csv.reader(file)
 4     next(reader)  # Skip the header row
 5 
 6     batch_size = 100  # 每批处理的数量
 7     total_items = 3100  # 总共需要处理的数量
 8 
 9     for i in range(0, total_items, batch_size):
10         # 在每次循环中处理 batch_size 个项目
11         # 可以在循环体内部使用 i 作为起始索引
12       
13         for j in range(i, min(i + batch_size, total_items)):
14             row = next(reader)
15             # 打印这一行的数据
16             print(row)
    

   场景二:随机生成特殊字段的值,作为变量填充到Insert语句中

  • 随机生成统代
 1 import random
 2 import string
 3 def generate_credit_code():
 4     # 生成第1位登记管理部门代码
 5     管理部门代码 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D']
 6     register_department = random.choice(管理部门代码)
 7     # print('管理部门代码为',register_department)
 8 
 9     # 生成2-9位组织机构代码
10     organizations_code = []
11     for _ in range(8):
12         org_code = ''
13         for _ in range(8):
14             org_code += random.choice(string.ascii_uppercase + string.digits)
15         organizations_code.append(org_code)
16     organizations_code=random.choice(organizations_code)
17     # print('组织机构代码为',organizations_code)
18 
19 
20     # 生成10-17位统一社会信用代码
21     unification_credit_code = ''
22     for _ in range(8):
23         unification_credit_code += random.choice(string.ascii_uppercase + string.digits)
24     # print('统一社会信用代码为',unification_credit_code)
25 
26         # 组合统一社会信用代码
27     credit_code = f"{register_department}{''.join(organizations_code)}{unification_credit_code}"
28     return credit_code
  •  随机生成注册号
1 mport random
2 
3 #这个注册号是由15个随机数字组成的,使用random.choice方法从0-9中随机选择数字。这个方法会被调用15次,每次都会生成一个随机数字,然后通过字符串的join方法将这15个数字拼接在一起。
4 def generate_reg_code():
5     # 15位注册号,以0开头
6     reg_code  =  ''.join(random.choice('0123456789') for i in range(15))
7     return reg_code

 

结合python+pytest+fixture 实现定时任务接口调用

目录结构

(有些乱。。。

Python脚本批量造数据、跑定时任务协助测试

 

-- config.ini     存放的是系统固定的url之类的

Python脚本批量造数据、跑定时任务协助测试

 

-- conftest.py  一般用于放登录接口,用户返回token,利用fixture被其他接口使用

 1 import pytest
 2 import requests
 3 import pymysql
 4 from config import readconfig
 5 readcon = readconfig.Read()
 6 
 7 
 8 @pytest.fixture(scope="session")
 9 # 这个方法是pytest封装公共方法的一个文件,文件名必须是(conftest.py)
10 # 作用: 其他地方在使用这个方法时就不用from XX import cc 然后也不用实例化了
11 
12 
13 def test_login():
14     msg = {
15         "username": '用户名',
16         "password": '加密后的密码'
17     }
18
19     url =readcon.get_URL("baseurl")
20     cc = requests.post(url+"api/uxxxxxxr/login",  params=msg)
21     getjson = cc.json()
22 
23     # 获取token
24     tok = getjson['data']['token']
25     userid = getjson['data']['userId']
26     return tok, userid

 

定时任务

import pytest
import requests
from config import readconfig

read = readconfig.Read()
class TestCase1:
     global url, tim  # 全局变量,便于其他地方调用
     url = read.get_URL("baseurl")  
     tim = read.get_URL("timeout")
     
     def test_case1(self, test_login):
         head = {'Content-Type': 'application/json', 'Authorization': test_login[0]}  # test_login[0]为token
         NewtestCreditCodeList = []
         SelectNewtestGs = "select 字段1,字段2,字段3 from 数据表 order by id desc  limit 100"
         cursor.execute(SelectNewtestGs)
         SelectNewtestResult = cursor.fetchall()
       
         for tuple in SelectNewtestResult:
             NewtestCreditCodeList.append(tuple[2]) 
 
         NewtestGsCreditCodeListResult = ', '.join('"' + i + '"' for i in NewtestCreditCodeList)
         print('结果为', NewtestGsCreditCodeListResult)
         r = requests.get(url + 'api/exxxxxh/txxx/xxxxx?入参='+NewtestGsEidListResult,  headers=head)
         print(r.json())

 文章来源地址https://www.toymoban.com/news/detail-709748.html

到了这里,关于Python脚本批量造数据、跑定时任务协助测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 环境使用定时任务执行shell脚本

    前言:Linux添加定时任务需要依赖crond服务,如果没有该服务,需要先安装:yum -y install crontabs 1、crond服务相关命令介绍         启动crond服务: service crond start         停止crond服务: service crond stop         重启crond服务: service crond restart         重载crond服务

    2024年02月16日
    浏览(63)
  • 【数据库】Python脚本实现数据库批量插入事务

    在工作中可能会遇到需要批量插入的场景, 而批量插入的过程具有 耗时长 的特点, 再此过程很容易出现程序崩溃的情况.为了解决插入大量数据插入后崩溃导致 已插入数据无法清理 及 未插入数据无法筛出 的问题, 需要编写一个脚本记录已插入和未插入的数据, 并可以根据记录

    2024年02月08日
    浏览(46)
  • 腾讯云镜YunJing——Agent定时任务脚本分析

    如果你有台腾讯云主机,会发现默认有个叫 YunJing 的进程。 把它 kill 掉后,发现一段时间又出现了 这是为什么捏? 通过 crontab 定时任务目录, 会发现有个叫 yunjing 的配置文件。 简单分析下: 1.第一行是说,每30分钟运行一次 YDCrontab.sh 脚本,丢掉输出的结果。 2.第二行是说,

    2024年02月02日
    浏览(25)
  • Shell 脚本实现自动启动程序、日志管理和定时任务监控

    本篇将通过Shell 脚本实现自动启动Java程序、日志管理和定时任务监控。脚本启动程序具灵活定制、可移植性和扩展性强的优点,可以根据需要添加额外的功能、配置选项和自定义行为,从而满足更具体的要求。 确保将脚本中的/path/to/log和your_program_port等替换为实际的日志路径

    2024年01月21日
    浏览(43)
  • cron 定时任务,启动shell脚本,为什么没有执行

    Cron 定时任务不执行时,可能有多种原因。下面是一些常见的问题及其解决方法: Cron 服务未运行 :首先确认cron服务是否正在运行。在大多数Linux系统中,你可以使用以下命令查看cron服务的状态: Cron 表达式错误 :确保你的cron表达式是正确的。Cron表达式包括五个或六个字段

    2024年04月13日
    浏览(56)
  • 通过定时任务+sh脚本方式实现服务器日志文件异机备份

    等保要求服务器A日志(服务器、数据库、后端、nginx、redis等)备份在另外一台服务器B上 通过定时任务+sh脚本+scp命令,实现定时执行脚本,将文件备份到另外一台服务器上 step1、准备工作 服务器A ipA 服务器B ipB step2、脚本命令backup.sh 服务器A上,以nginx日志为例 step3、配对秘钥

    2024年02月16日
    浏览(43)
  • 用海豚调度器定时调度从Kafka到HDFS的kettle任务脚本

    在实际项目中,从Kafka到HDFS的数据是每天自动生成一个文件,按日期区分。而且Kafka在不断生产数据,因此看看kettle是不是需要时刻运行?能不能按照每日自动生成数据文件? 为了测试实际项目中的海豚定时调度从Kafka到HDFS的Kettle任务情况,特地提前跑一下海豚定时调度这个

    2024年04月15日
    浏览(36)
  • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

    业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 连上服务器后,在任意位置都可以执行: crontab -e 如果没有进入 编辑cron任务模式 根据提示查看我们的服务器上是否未安装crontab没有则

    2024年02月14日
    浏览(59)
  • 在linux上启动、重启、查询、停止java服务脚本,并且设置定时任务自动执行

    以下代码来源于另一位博主,在实践过程中需要设置定时任务,所以遇到一些问题,把没有写清楚的地方优化了一下。 我们把上面的脚本复制到以下目录的脚本文件/data/www/shtools/startmanage.sh,执行命令可以得到不同的结果。 设置的三个定时任务运行脚本, 第一个是0 3 * * *

    2024年02月07日
    浏览(60)
  • 使用Windows脚本批量进行telnet测试不同ip端口,批量测试ping

    前言:工作的时候进行业务验证,好多测试端口和ping,一个一个弄很麻烦,如果需要Python还没有环境,所以思来想去写了一个用Windows脚本测试ip+端口的,拿出来分享吧,我搜了一些我不知道咋肥事运行不起来,所以就拿出来, 注:这里我用的百度的ip和80端口进行测试的,肯

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包