自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 4.3-2 jenkins

45 (9-15)/2 * * 1-5每个工作日从早上9:00 到下午5:00 这段时间内每间隔2小时的的某刻;例如: 每2分钟执行一次 H/2 * * * * (注意:要空一格,H/2 每隔两分钟,第二个* 任何时 ,第三个* 表示任何日,第四个* 表示任何的月,第五个* 表示任意周 )每前半小时中,间隔10分钟 H/(0-30)/10 * * * *每天8至点­16点,每1小时执行一次 H (8-­16)/1 * * *第一个* 表示: 分钟:0­—59。

2025-04-03 11:55:46 373

原创 4.3-1 jenkins安装

在工作中我们引入持续集成,通过持续集成自动构建(代码的编译、发布、部署、 用例的更新和自动化执行),从而达到尽早发现代码集成的错误。第七步:等所有开发人员将bug修复好,再进行代码集成,交给测试进行回归测试 这样我们会陷入一个循环:修改bug­­­­集成代码­­­部署测试的循环中。是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。第三步:等所有模块开发完成后,由项目老大(开发负责人)对所有模块的代码进行集成。一个节点是一个代理服务器。

2025-04-03 11:54:41 663

原创 4.2-3 fiddler抓取手机接口

安卓:

2025-04-03 10:30:12 179

原创 4.2-2 monkey压力测试

案例:adb shell monkey -p com.baidu.yuedu -s 1001 --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v-v-v 100 >D:\f\xyz.txt。案例:adb shell monkey -p com.baidu.yuedu -s 1001 --throttle 1000 -v-v-v 100 > D:\ls\fx\cc1.txt。

2025-04-02 20:06:55 954

原创 4.2-1 app测试

安卓虚拟机机制解释:android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,任何程序都就可以轻松访问其他程序文件。设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)、鸿蒙系统、mac。在市面上app测试流行,分为安卓端和ios端(ios端必须要maos系统,鸿蒙系统,还要企业级的证书,再公司一般不会用ios做自动化)这是系统机制决定的。

2025-04-02 16:20:03 864

原创 4.1-3 模拟器

dx.find_element_by_id("com.moji.mjweather:id/azz").send_keys("北京市")# dx.find_element_by_id("com.moji.mjweather:id/jc").click() #同意进入。'platformVersion':'android-5.1W', #平台版本。'appPackage':'com.moji.mjweather', #包名。五.sdk中的tools中的uiautomatorviewer.bat。

2025-04-01 18:35:04 243

原创 4.1-2模拟器

案例:adb push E:\dcs\two\app\lj.txt /data/查看手机端安装的所有包名:adb shell pm list packages。启动adb server命令 :adb start-server。停止adb server命令 :adb kill-server。本地文件路径:E:\dcs\two\app\lj.txt。从手机端下载文件 : adb pull + 文件。本地文件路径:E:\dcs\two\app。查看adb版本 :adb version。

2025-04-01 15:00:59 378

原创 4.1-1 app环境搭建

通常是 某一家厂商 针对某一 平台 或 系统 或 硬体 所发布出来用以开发应用程式的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。sdk的路径:E:\app\adt-bundle-windows-x86_64-20140702\sdk。是用来帮一个 产品 或 平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。(1)jdk 已安装,java的一种编译器 (本地windows安装)3、:platforms:你安装下载的所有Android平台,分版本存放。

2025-04-01 14:59:14 459

原创 3.31-4 性能面试题

B. 利用性能监控工具,比如:JAVA开发B/S结构的项目,可以通过JDK自带的Jconsole,或者JProfiler,来监控服务器性能,Jconsole可以远程监控服务器的CPU,内存,线程等状态,并绘制变化曲线图。选择用户最常用的场景进行测试,例如登录、搜索和订购。当性能拐点出现时,例如,当用户达到某个订单时,如果响应时间突然增加,则该拐点的对应用户数可以是该系统可以装载的最大用户数。例如,如果测试结果不可靠,如响应时间、事务通过率、CPU等指标是否满足需求,请分析并纠正异常原因,然后重新测试。

2025-03-31 16:46:31 201

原创 3.31-3 性能问题

因为网银系统日志量较大,异步日志队列很快就满了,如果单条日志存在大报文,还有可能导致内存溢出,因此不适合采用异步日志。如果日志量少(压测产生日志的速度,低于日志写入文件的速度),则可以使用异步日志,大幅提高性能。解决方法:采用更高效的算法、数据结构替换原来消耗CPU的代码,或者采用新的设计绕过瓶颈代码,比如查找数据的逻辑,可以把List改为Map,以空间换时间;问题现象:50并发压测,TPS曲线正常应该是平缓的,波动不大,如果突然出现剧烈下降,并且短时间内无法恢复,则可能存在问题。

2025-03-31 16:45:37 407

原创 3.31-2 性能指标

而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。当理发店来了9个客户的时候,3个客户理发,而6个用户在等待,3个客户的等待时间为1个小时,另外的3个客户的等待时间为2小时,客户的最大忍受时间为3小时包括理发的1个小时,所以6个客户的等待时间都在客户的可以承受范围内,故9个客户是该理发店的最大并发用户数。第1个公式计算的是绝对的TPS,也是瞬间TPS,jmeter中的throughput是吞吐量是平均TPS,这个绝对TPS指的是某个点的值。

2025-03-31 16:44:18 718

原创 3.31-1 性能测试

Active Threads Over Time:每秒的活动线程数,X轴表示访问的时刻,Y轴表示活动线程数,F(X,Y)表示某个时刻的活动线程数。监听单位时间内活动的线程数。每活动线程数可能的事务吞吐量,途中 X 轴表示的是活动线程数,Y 轴表示的是事务吞 吐量,F(X,Y)的含义是当系统处于某个活动线程数时,系统当时的事务 吞吐量是多少。比如当有 10 个活动线程时,事务吞吐量是 100/s,而当有 20 个活动线程时,事务吞吐量 是 50/s,说明随着用户访问的增加,系统的处理 效率开始下降了。

2025-03-31 14:06:24 338

原创 3.29-4nmon

分析 AIX 和 Linux 性能的免费工具, 这个高效的工具可以工作于任何屏幕、telnet 会话、甚至拨号线路。如果您拉伸窗口,并在X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。Nmon 启动后可以显示 Linux 系统 CPU、内存、进程信息,包括了 CPU 的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的 CPU 消耗等详细指标。性能介绍 nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,。

2025-03-29 18:20:41 473

原创 3.29-4 添加插件

1. jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表) 聚合报告里,Throughput是按请求个数来展示的,比如说1.9c,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表。6. jp@gc - Reponse Times Distribution: 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数。@gc - Response Times Over Time 随时间变化的响应时间。

2025-03-29 16:36:28 827

原创 3.29-3 压力测试(不同用户)

作用于该定时器之后的所有请求,也就是说定时器实在请求执行前起作用的并发数和线程数一致时,并发启动时间,一定要大于线程组启动,如果小于这个时间,并发数量不准确。中使用Synchronizing Timer实现Lr中集合点的功能,模拟多用户并发测试,即多个线程在同一时刻并发请求。(注意:线程组整理的启动时间单位是秒,定时器里的等待时间是:毫秒 ,哟啊注意单位换算,1秒=1000毫秒)Jmeter默认没有超时时间,如果没有设置,一旦没有达到集结数量的请求系统就一直。2.前置处理中添加用户参数,导入用户。

2025-03-29 15:44:32 395

原创 3.29-2 jmeter-2

如果线程数为10,准备时长为2,那么需要50秒钟启动500个线程,也就是每秒钟启动10个线程。Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间。#Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。线程数:虚拟用户数。启动时间:测试启动时间,启动延迟会覆盖它。

2025-03-29 11:59:33 400

原创 3.29-1 3种抓包-普通,badboy,代理

但要注意,端口不能被其它程序占用,端口信息要与浏览器设置保持一致。2)netstat -aon|findstr "8888" --查询端口是否被占用。3)tasklist|findstr "8888" --查询对应端口被什么程序占用。端口号:8888(默认)改成不常用的端口号避免端口号冲突;1)netstat -an --列出本机所有使用端口信息。目标控制器:使用录制控制器(默认)后面根据情况进行更改。第三种方式:jmeter中有反向代理录制脚本。要录制的要排除不需要的接口。

2025-03-29 11:22:57 337

原创 3.28-4 性能测试

report-template(报告模板):该目录下存放Jmeter的报告模板 templates(模板):该目录下存放Jmeter的各类配置模板 例如:JDBC、Beanshell等。性能测试要搭建性能环境,(不在测试环境和生产环境进行性能测试) 因为性能环境考验模拟线上环境,达到1:1比例;压力测试:压力测试是系统在一定饱和状态下,例如cpu、内存、磁盘I/O在饱和使用情况下,不断给系统施加压力,看系统的处理能力,以及系统是否会出现错误。(1)jmeter 轻量级工具,免费,开源, (我们讲解的)

2025-03-28 17:19:28 852

原创 3.28-3 文档读取和插入

一.jmeter参数化(txt文档实现参数化)以上内容是将sql语句写入到txt文档中引用。1.编辑sql语句中导入变量${变量名}新建一个txt文档:data 命名。4.6个数据,在线程数中设置6。二. 将数据写入txt文档中。1.新建txt文档,输入数据。(1)编辑txt文档。(2)导入txt文档。

2025-03-28 16:14:44 149

原创 3.28-2 jmeter读取mysql

prepared select:用于绑定变量重用执行计划,对于多次执行的SQL语句,prepared statement是最好的选择。路径:E:\dcs\two\jmeter\apache-jmeter-3.3\lib。Database Connection Configuration :数据库连接配置。这是一条更新语句包含insert和update,也是只能进行一条sql语句的查询。Connection Pool Confiauration 连接池的参数。这是一个查询语句,只能进行一条sql语句的查询。

2025-03-28 14:21:40 495

原创 3.28-1 token

填写入参参数:账号,密码,验证码,uuid是一个变量,引用第一个接口的uuid,登录成功响应体,生成tonken值,提取token值,第三个接口,要在请求头携带token值,填写Authorization字段中,后面的接口都要携带tonken值。http://shop.duoceshi.com/apis/api/menus/build这个接口的请求头加上token值(Authorization)(2)登录接口http://shop.duoceshi.com/apis/auth/login入参参数。

2025-03-28 11:53:53 455

原创 3.27-2

第三个接口:http://shop.duoceshi.com/apis/api/menus/build。(3)配置元件中添加CSV Data Set Config。d.用户数据有5条,执行5次,在线程中设置用户数。b.前置处理器中添加:用户参数,编辑变量和参数。二.通过txt文档或csv文件实现参数化。(1)前置处理器来设置变量(用户变量)2.提取接口中响应体的内容,正则表达式。pis/auth/code登录接口。a.添加登录接口,设置成变量。一.jmeter中参数化。(3)新建一个txt文档。

2025-03-27 19:04:44 300

原创 3.27-1 pymysql下载及使用

(1)连接方式:pymysql.Connection 或者pymysql.connect。import pymysql #导入pymysql。import pymysql #导入pymysql。import pymysql #导入pymysql。import pymysql #导入pymysql。import pymysql #导入pymysql。yb=lj.cursor() #创建游标对象。yb=lj.cursor() #创建游标对象。yb=lj.cursor() #创建游标对象。

2025-03-27 14:30:17 524

原创 3.26-3 自动化框架邮件

一.下载一个邮件模板(属于封装号的模板)

2025-03-26 17:50:38 392

原创 3.26-2 自动化框架

讲解稿: 首先在pycharm里新建一个项目,然后构建6个包,分别是api构建包、conf配置包、report报告包、run运行包、testcase用例包以及utils工具包。其中api包用来组建并发送接口请求,conf包用来存放所有接口的入参信息,report包用来放置运行所有测试用例生成的报告,run包用来自动加载所有的测试用例、并且运行,testcase包用来继承unittest单元测试框架、组建接口测试用例,utils包用来存放发送邮件和生成报告模块。第四个包run包,运行包。

2025-03-26 17:49:35 695

原创 3.26-1 unittest框架

stream=f,title="接口自动化测试报告",description="接口用例执行情况",tester="dcs"unittest.TestSuite()套件。addTest 添加到套件中。第三,执行一个路径下的用例。unittset框架。二.运行部分用例接口。

2025-03-26 16:10:17 390

原创 3.25-3 request断言

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince城市接口http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupport 入参CitybyProvinceName:{{cs}}data1={'byProvinceName':"浙江"}assert wb["msg"]=='登录成功'if wb["msg"]=="登录成功!

2025-03-25 17:43:24 791

原创 3.25-2request库

requests.request(post,url,data,headers=h1) 方法。requests.request(get,url,headers=h1) 方法。print(jk1.json()) #响应体转换成json格式。print(jk1.json()) #响应体转换成json格式。print(jk1.json()) #响应体转换成json格式。print(jk1.json()) #响应体转换成json格式。print(jk1.json()) #响应体转换成json格式。

2025-03-25 16:06:35 824

原创 3.25-1 postman执行+弱网测试

(1)集合右键,点击run ,运行多个接口。2.编辑环境,集合,执行次数等。四.运行多个接口有变量。1.导出json脚本。2.打包json文件。3.点击集合的run。

2025-03-25 10:48:44 235

原创 3.24-3 接口测试断言

如果不断言,只能说明接口是通的,不能说明响应体是正确的。#断言响应时间小于200ms。一.postman 断言。#状态码是否等于200。认识下test中的功能。1.断言再test中。#断言响应体包含内容。

2025-03-24 18:53:17 880

原创 3.24-2 postman使用

先登录接口成功,生成cookie值,才能让后面接口依赖。上一个接口响应参数,作为下一个接口请求参数。添加到环境变量中,可以让后面城市接口引用。将json格式中的string设置变量。byProvinceName:浙江。(1)设置{{}} 定义变量。将省份接口转换成json格式。cookie值是保持会话。(4)选择环境,执行。

2025-03-24 17:21:06 346

原创 3.24-1接口测试理论

请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。一,有接口文档(1)接口文档(开发,如果接口文档),参考接口文档,没有就是自己去抓包(2)根据获取的接口,根据入参和响应参数,进行编写接口用例(3)接口测试用例评审(4)接口测试用例导入用例管理工具(禅道)(5)搭建好测试环境(6)使用接口工具或代码去调试接口(7)有bug通过bug管理工具提bug给开,开发修改,测试验证(8)测试完后,输出接口测试报告。第四步:服务器接受到客户端的请求后,会进行token值的对比。

2025-03-24 17:20:18 927

原创 3.21-1自动化框架

测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown()。一个Testcase的实例就是一个测试用例,测试用例就是一个完整的测试流程,包括初始化setUp、运行run、测试后的还原tearDown。# tj.addTests([Cms("test2"),Cms("testA")])#将两个或两个以上添加用例到集合中,# unittest.TextTestRunner().run(tj) #通过testrunner运行套件中的用例。

2025-03-21 17:39:30 589

原创 3.20-1ui自动化切换,登录退出

dx.find_element_by_id("kw").send_keys(Keys.CONTROL,"a") #全选。# dx.find_element_by_id("kw").send_keys(Keys.CONTROL,"x") #剪切。# dx.find_element_by_id("kw").send_keys(Keys.CONTROL,"v") #剪切。# dx.get("file:///D:/HBuilder/bao/alert弹框.html") #通过get打开页面。

2025-03-20 16:16:00 531

原创 3.18-29种定位链接,隐藏框

dx.find_element_by_xpath('//*[@autocomplete="off" and @name="wd" ]').send_keys("xpath中组合属性and定位")dx.find_element_by_css_selector("[autocomplete='off'][class='s_ipt']").send_keys("css中组合属性方法")dx.find_element_by_css_selector("#kw").send_keys("css中id简写方法")

2025-03-19 18:01:06 238

原创 3.18-1

2、定义类的时候__init__方法中有一个参数self,这也是类中的方法与普通函数的区别,类的中的方法必须有一个参数self,而且位于参数列表的开头,在类中self就是代表类的当前类的实例(对象)自身,在python调用时无需传值,python会将对象自动传给self接受。#print(d1.sheet_names())#显示所有页面名称['Sheet1', 'Sheet2', 'Sheet3']print(dx.row_values(0,1,2))#0第一行,1第2列,2为结束列不包含。

2025-03-18 14:45:49 784

原创 3.17-2 调用常见7个包,两例题

print(os.path.join(url,'3.17-1.py'))#连接目录与文件名或目录。print(time.strftime("%H-%M-%S-%y-%m-%d"))#时间戳。print(os.path.isfile(url))#判断是否文件#False。print(re.match('a',s))#显示结果是索引位:(0, 1)print(time.strftime("%H-%M-%S"))#年月日。print(time.strftime("%y-%m-%d"))#时分秒。

2025-03-17 19:09:48 261

原创 3.15-2内置函数

print("学号:{1[1]},分数:{0[2]}".format(list,list2))a="姓名:{name},年龄:{age}".format(name="zs",age=18)print(max(list));print(divmod(7,3))#(2, 1)同时输出商和余数。list2=["a","b","c","d","e"]#索引1。print(list(z))#将压缩内容转化为列表。name=int(input("请输入账号:"))name=str(input("请输入账号:"))

2025-03-15 16:37:45 910

原创 3.15-1自定义 函数

三、优点:1.降低代码冗余;2增加代码复用性、提高开发效率;__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ ,这句话的。if __name__ == '__main__': 是函数的入口,也称为主函数。意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,if __name__ == '__main__': 主函数调用。函数是组织好,可以重复使用,用来实现单一,或者关联功能的代码段。函数名(实际参数)、调用函数。(5)参数是可变长元组。(4)参数有默认参数。

2025-03-15 14:19:05 392

原创 3.14-3 判断,循环

2、先熟悉下range()函数:如果需要遍历一个数字序列,可以使用python中内建的函数range()用法:continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。print("账号正确" if name=="admin" else "账号错误")要求:包含开始值,不包含结束值,步长从2开始,1表示木有变化,默认从0开始。print("富婆" if name=='yy' else "乞丐")用法:语句会立即退出循环,在其后边的循环代码不会被执行。

2025-03-14 17:10:06 233

jenkins操作诶udrtyui897t86r5drctvghuiyft

jenkins操作诶udrtyui897t86r5drctvghuiyft

2025-04-03

jenkins配置,激活,执行用例常见操作

jenkins配置,激活,执行用例常见操作

2025-04-03

cms环境搭建,搭建之前要快照多有米的环境:在虚拟机内点击快照即可;因为要删除多有米的webapps内所有内容

cms环境搭建,搭建之前要快照多有米的环境:在虚拟机内点击快照即可;因为要删除多有米的webapps内所有内容

2025-03-19

134谷歌对应驱动,拖到python文件夹内

134谷歌对应驱动,拖到python文件夹内

2025-03-19

谷歌134安装,谷歌134安装,谷歌134安装

谷歌134安装,谷歌134安装,谷歌134安装

2025-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除