美文网首页
测试小白写删除数据脚本

测试小白写删除数据脚本

作者: 茧城寒舍 | 来源:发表于2020-09-18 14:10 被阅读0次

测试小白写脚本

1. 缘起

app使用的是微信授权的登陆方式,一个微信账号可以注册一个app的用户。

app的新手会有相应的业务对应。

测试需要大量新手账号。

实际测试中不可能有大量真实的微信账号,即便有也会有用完的一天。

为了解决上面的问题,那么我们先来看看一般的注册登陆流程:

微信授权---->客户端----->登陆&注册接口----->持久化用户信息------> 后续操作

其中我们可控制的就是 持久化用户信息 这一步骤,我们可以通过反复删除或者修改用户信息的方法,来创建多个新的账号。

那么一般的步骤是这样:

  1. 打开navicat 选择数据库,数据表(demo.user)
  2. 编写sql语句,查出用户信息(select * from demo.user where id = xxxxx)
  3. 修改或者删除对应记录(update | delete )
  4. 微信授权,客户端调用后端接口,重新生成一条数据 (手动操作,点击微信登陆按钮 )

以上步骤如果手动操作至少要30S时间。

其中只有第2条,有变化的部分,就是用户id,那么我们完全可以写一个脚本,来减少重复操作。

2. 思想行动

谋而后动,我们来想想我们大概要面临的问题:

  1. 如何能快速方便执行脚本(命令行)
  2. 脚本用什么语言(所有可以方便使用的语言都可以)
  3. 如何连接数据库(不知道,面向百度编程吧)
  4. 未知问题(到时候再说!)

经过激烈到不能在激励的思想行动后,我们决定,开始动手了。

3. 动手吧

我们还是用python3吧,用户大,所以我们首先要有个python3环境,如何安装百度,这个很简单。

3.1 创建目录和文件

创建一个目录,专门用来放各种小脚本:

[@Hyman:~]$ mkdir min_scripts

进入目录,创建一个脚本:

[@Hyman:~]$ cd min_scripts/
[@Hyman:min_scripts]$ touch clear_wechat.py

使用vim编辑clear_wechat.py编写世界通用的HelloWorld程序:

#!/usr/local/bin/python3
# 第一行,是指定python3所在的位置,这样就可以使用.来执行了
import sys   # 导包
print(sys.version)  # 打印版本信息,确定是你要用的python版本
print('Hello World!!!')  

3. 2 修改文件可连接远程mysql数据库

百度一下,输入以下关键字:python 操作mysql,我们找一个比较合适的文章:

https://www.cnblogs.com/Eva-J/articles/9772614.html

按照文章步骤,我们先安装一下包:

[@Hyman:min_scripts]$ pip3 install PyMySQL
Requirement already satisfied: PyMySQL in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (0.9.3)

我的已经安装过了,所以会出现上面的提示。

做一个简单的查询操作:

import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","root","root","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
 
# SQL 查询语句
sql = "select current_timestamp from dual;"
try:
   
   cursor.execute(sql)# 执行SQL语句
   results = cursor.fetchall()# 获取所有记录列表
     print(results)
except:
   print ("Error: unable to fetch data")
 
# 关闭数据库连接
db.close()

使用./clear_wechat.py执行脚本结果,发现没有报错,证明连接数据库是正常的,那么我们修改上面代表,让他能完成我们想要的接结果

3.3 编写删除记录的sql

我们可以在testQA库下面创建一张 test_user表,结构如下:

CREATE TABLE `test_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

插入一条测试数据:

insert into test_user values(1,'zhangsan');

准备好了,我们就修改上面的脚本:

import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","root","root","TESTDB" )
 
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
 
# SQL 查询语句
sql = "delete from test_user where id = 1;"
try:
   
   cursor.execute(sql)# 执行SQL语句
   #results = cursor.fetchall()# 获取所有记录列表
     #print(results)
   db.commit()
except:
   #print ("Error: unable to fetch data")
    db.rollback()
 
# 关闭数据库连接
db.close()

注意修改部分

如果是对于数据的写操作,要有db.commit()操作,这样才能完成操作哦!!!

3.4 给脚本文件传参

在上面,我呢看到sql中,id是写死的,在实际操作中,几乎不可能这样,如果写死那么写脚本就变的没有意思,所以,我们要给python文件传递参数,百度一下:python文件传参 https://www.cnblogs.com/lijunjiang2015/p/7689492.html

第一步,引入sys包(这个我们开头就做了)

import sys

第二步,我们查实传递一个参数进行打印操作

print(sys.argv[1])

第三步,传递一个参数给脚本进行测试

[@Hyman:min_scripts]$ ./clear_wechat.py dddd
dddd

正常打印,说明是成功的。我们真正要用的可不是打印那么简单,我们把他和sql拼接:

sql = "delete from test_user where id = %s " % sys.argv[1]

插入一条id为2的数据作为测试数据,执行脚本./clear_wechat.py 2来试一下吧:

[@Hyman:min_scripts]$ ./clear_wechat.py 2
2

查看数据表中的内容进行验证,发现数据已经被删除。

4. 拓展

实际工作中,提供一个http接口,可以让更多人访问。

相关文章

  • 测试小白写删除数据脚本

    测试小白写脚本 1. 缘起 app使用的是微信授权的登陆方式,一个微信账号可以注册一个app的用户。app的新手会...

  • 第2次课-Shell脚本语言-第2讲

    自己写编译动态库脚本文件,脚本语言去操作数据库,插入数据,删除数据,修改数据等等... 内容一:Shell脚本语言...

  • Shell脚本语言基础(二)

    自己写编译动态库脚本文件,脚本语言去操作数据库,插入数据,删除数据,修改数据等等... 内容一:Shell脚本语言...

  • Shell脚本语言(第二篇)

    自己写编译动态库脚本文件,脚本语言去操作数据库,插入数据,删除数据,修改数据等等... 一、Shell脚本语言-e...

  • Linux之rm -rf安全删除

    新建自定义删除脚本: 配置安全删除脚本生效 新增一行即可: 使其生效 效果测试 生成测试文件和目录 rm删除 查看...

  • TestNG+HttpClient+Excel数据驱动测试

    数据驱动测试 数据驱动测试的核心是:测试数据与测试脚本分离,实现测试脚本参数化,提高测试脚本的可重用性。在自动化功...

  • Shell语言学习(二)

    使用Shell语言自己写编译动态库脚本文件,用脚本语言去操作数据库,插入数据,删除数据,修改数据等等... 内容一...

  • JMeter测试接口数据驱动

    背景 数据驱动测试,就是分离测试逻辑和测试数据,通过Excel脚本来读取数据,用JMeter脚本读取并执行测试的过...

  • 数据驱动测试_unittest+dtt+excel

    思路: 1)设计测试数据 2)读取excel 3) 编写测试脚本 数据 excel读取 脚本

  • 移动端自动化测试流程

    删除已安装app(包括被测程序+测试程序)->安装app->编译脚本->执行测试脚本->pull 测试报告 使用p...

网友评论

      本文标题:测试小白写删除数据脚本

      本文链接:https://www.haomeiwen.com/subject/gukjyktx.html