2.2可重复执行
如何可以做到可重复执行?
1、清除测试数据(已注册数据)
2、脚本按指定顺序执行
清除测试数据
明确清除那些数据?
1、注册手机号和登录日志
2、造数据(借款标)
提示:在工作中找开发确认。
这些数据在那个库、那个表?
库:czbk_member
表:mb_member(会员主表)、
mb_member_info(信息表)、
mb_member_login_log(登录日志)、
mb_member_register_log(注册日志)
提示:以上表找开发获取
确定sql语句
分析
1、mb_menber、mb_menber_register_log直接使用phone字段进行过滤条件删除。
2、mb+member_info、mb_member_login_log必须配合mb_member表的id进行关联查询,再删除。
查询sql语句(确认sql语句是否正确)
一、确认表中是否有数据
#1、查询确认语句 主表 mb_member
select * from mb_member where phone in("13600001111","13600001112","13600001113","13600001112")
#2、mb_member_info
select * from mb_member_info i INNER JOIN mb_member m on i.membe_id=m.id where m. phone in ("13600001111","13600001112","13600001113","13600001112")
#3、mb_member_login_log
select * from mb_member_login_log l INNER JOIN mb_member m on l.membe_id=m.id where m. phone in ("13600001111","13600001112","13600001113","13600001112")
#4、mb_member_register_log
select * from mb_member_register_log where phone in("13600001111","13600001112","13600001113","13600001112")
删除sql语句
二、删除sql语句
#1、删除 mb_member_info
delete i.* from mb_member_login_log l INNER JOIN mb_member m on l.membe_id=m.id where m. phone in ("13600001111","13600001112","13600001113","13600001112")
#2、删除 mb_member_login_log
delete l.* from mb_member_login_log l INNER JOIN mb_member m on l.membe_id=m.id where m. phone in ("13600001111","13600001112","13600001113","13600001112")
#3、删除 mb_member_register_log
delete from mb_member_register_log where phone in("13600001111","13600001112","13600001113","13600001112")
#4、删除 mb_member
delete from mb_member where phone in("13600001111","13600001112","13600001113","13600001112")
我们在JMeter中使用的手机号是变量,所以我们可以改一下,记得不要把引号删了。
只要不换数据都可以用,但是一旦你没改,换数据就傻眼了。
1、使用jmeter连接数据库,执行sql语句
添加数据库连接池并配置
填写IP地址 数据库账号密码
添加setUp线程组,他的特性是优先执行
添加jdbc请求执行sql语句
把之前写的sql语句复制进来
每条sql语句背后结尾必须有英文分号,单条语句无所谓,多条语句必须有
#他不认识,换成--才能注释
删除语句必须选2或3,3的意思是一次性可以执行多条返回结果,你有几条参数语句就返回多少结果,2和3本质效果一致,都可以选
执行报错
Navicat执行语法也报错
添加一个参数,这个参数的作用是,支持批量参数与查询,加到这里来,开始批量执行sql语句
执行可以看到成功了,0是因为没有数据,有数据就不是0了
jdbc:mysql://121.43.169.77//czbk_member?allowMultiQueries=true
allowMultiQueries=true:开启批量执行sql语句
这是一条 JDBC 连接字符串,用于连接到 MySQL 数据库。
以下是各部分的解释:
jdbc:mysql://
:这是一条 JDBC URL 的前缀,表示这是一个 MySQL 数据库连接。121.43.169.77
:这是 MySQL 服务器的 IP 地址。/
:这是 URL 的路径部分,表示连接到数据库的根目录。czbk_member
:这是要连接的数据库名。?allowMultiQueries=true
:这是一个查询参数,用于允许多个查询语句在同一个连接中执行。
在 MySQL 中,allowMultiQueries
是一个可选参数,可以设置为 true
或 false
。如果设置为 true
,那么可以在同一个连接中执行多个查询语句
注意:
1、每个sql语句结尾需要使用;
2、Query Type:选择Callable Statement
2、脚本按制定顺序执行
执行成功
如果不成功,要么是标码的问题,抛开标码,说明接口不通
这里我们把之前的清除测试数据复制过来,即可解决标码问题
三、持续集成
什么持续集成?
通过一款工具(jenkins)持续自动集成代码
CI工具最常用啥?
Jenkins
通过jenkins工具运行脚本的本质啥?
运行脚本的命令
jmter -n -t 脚本.jmx -l 结果.txt -e -o 目录
持续集成所依赖的环境是啥?
1、jenkins环境:jdk jenkin.war
2、运行脚本的环境:newman、jmeter、jkd、python、pytest
持续集成运行脚本的方式有哪些?--脚本在哪里放?
1、项目托管平台(github、gitree、gitlabe)
2、jenkins服务器(将脚本从托管平台下载到jenkins服务器本地,调用命令去执行)
3.2脚本管理
通过工具上传托管平台
把写好的脚本复制进来,注意要设置英文名称
选择上传gitree
他需要验证账户密码,账户密码已经提前配好了
选择添加
把我们的文件提交到暂存区里面,成功了,点击就可以进去了
404是因为没有权限,登录即可解决
出现了
去复制HTTPS的,不要去复制SSH的,因为他要你授权的
通过命令上传
另一种方法
直接去新建仓库
填写内容,记住不要勾选
然后他会告诉你一大堆命令,只需要执行即可
新建一个文件夹,然后把脚本粘贴过来
接着打开终端,可以用ls命令查看有没有切过来
接下来按照上面给的命令,一个个ctrl+c ctrl+v即可
改成 git add. 就行了(.是当前所有文件的意思)
复制后执行
刷新后可以看到已经实现
其他的如何上传结合百度即可