- 博客(41)
- 收藏
- 关注
原创 playwright框架入门到精通
Playwright 是一个开源的自动化库,由 Microsoft 开发,用于自动化基于 Chromium, Firefox, 和 WebKit 的浏览器。它支持多种语言,包括 Python,并能在 Windows, Linux, 和 macOS 上运行。支持同步和异步执行。
2024-11-18 16:28:52
671
原创 Python 迭代器与生成器详细教程
迭代器是一种对象,它能“记住”遍历的状态,并且提供了一种逐个访问集合中元素的方式。你可以通过迭代器遍历任何支持迭代协议(即__iter__()和__next__()方法的对象)。生成器是迭代器的一种简化实现方式,通常是通过一个包含yield关键字的函数来创建。生成器具有与普通函数相同的特性,但其执行流程不再是一次性返回结果,而是每次遇到yield时返回一个值,并暂停函数执行,直到下次恢复。迭代器是支持迭代协议的对象,必须实现__iter__()和__next__()方法。生成器。
2024-11-18 10:34:59
598
原创 【FlexApi】自定义接口自动化测试引擎-从0到1搭建教程
在构建测试平台的底层用例执行方案时,有几种常见的方案可以选择,包括接入现有的测试工具(如 JMeter、MeterSphere)、利用第三方自动化框架(如 HttpRunner)以及自定义封装引擎(使用 Python 封装的 FlexApi)。下面详细分析这三种方案的优缺点和适用场景。概述:优点:缺点:适用场景:概述:优点:缺点:适用场景:概述:优点:缺点:适用场景:总结:JMeter / MeterSphere 适合需要快速集成并且主要进行负载测试和常规接口测试的场景。HttpRunner 更适合对接口自
2024-11-17 10:48:09
665
原创 const let var的区别
来声明变量和常量,以避免因变量提升和作用域混淆而导致的潜在问题。在现代的 JavaScript 编程中,推荐尽可能使用。
2024-07-14 09:35:58
269
原创 python 生成器详细教程
生成器(Generators)是Python中强大且灵活的工具,用于按需生成数据流,而不是一次性生成所有数据。生成器提供了一种延迟计算的方式,可以节省内存并提高性能。
2024-05-25 18:42:35
530
原创 大数据测试-Hive DML语句与函数使用2
一、Hive SQL DML语法之加载数据Hive SQL-DML-Load加载数据回顾在Hive中建表成功之后,就会在HDFS上创建一个与之对应的文件夹,且文件夹名字就是表名;文件夹父路径是由参数hive.metastore.warehouse.dir控制,默认值是/user/hive/warehouse; 不管路径在哪里,只有把数据文件移动到对应的表文件夹下面,Hive才能映射解析成功; 最原始暴力的方式就是使用hadoop fs –put|-mv等方式直接将数据移动到表文件夹下;
2023-05-14 14:55:42
403
1
转载 线程的状态及代码示例
BLOCKED、WAITING、TIME_WAITING:都可以理解为是阻塞、等待状态,因为处在这三种状态下,CPU不会调度当前线程。RUNNABLE:Thread对象调用了start方法,就为RUNNABLE状态(CPU调度/没有调度)TIME_WAITING:调用sleep方法或者join方法,会被自动唤醒,无需手动唤醒。WAITING:调用wait方法就会处于WAITING状态,需要被手动唤醒。NEW:Thread对象被创建出来了,但是还没有执行start方法。Java中给线程准备的6种状态。
2023-05-10 21:39:40
218
原创 性能测试-Java内存溢出排查
TPS和响应时间一开始会表现的非常不稳定,中间出现大量的断层,断层原因是进行了大量的FULL GC,FULL GC需要消耗大量的资源(可以看下面JVM的监控的图片),压多几分钟后,系统直接宕机;我们可以看到是出现了内存存储泄漏,点击进去可以看下代码的具体类的哪行代码发生了内存泄漏,我写的接口是,我创建了一个ArraryList,接口调用一次,往里面写5M的数据,然后不回收;我们可以看到,接口确定出现了内存泄漏,点击异常的线程,查看具体是JAVA代码的哪个类里面的代码发送了内存泄漏;
2023-05-10 20:49:52
1026
原创 性能测试-prometheus监控java应用
修改promethues的prometheus.yml中加上,监控java的配置。重启promethues,然后打开promethues,查看监控是否有效不。在项目中多引入两个pom依赖(SpringBoot自带的监控组件。在application.yml配置文件中加上。重新打包上传到服务器,然后重新启动项目。打开ganafa中,绑定模板(4701)
2023-05-07 16:02:04
680
原创 性能测试-jvisualvm远程监控JVM虚拟机
注意: -Dcom.sun.management.jmxremote.port=8889 // 远程链接jvm的端口,端口不能重复。-Dcom.sun.management.jmxremote.authenticate=false // 是否需要认证。-Dcom.sun.management.jmxremote.ssl=false // 是否使用ssl加密传输。-Dcom.sun.management.jmxremote.port=8889 // 远程链接jvm的端口。右键远程,点击添加远程主机。
2023-05-07 11:37:05
416
原创 Promethus+Gafana-MySQL 的监控
重启 prometheus,进入 prometheus 的 UI 界面,在 status-targets 页面下,可以看。在 grafana 官网模板中找到 MySQL 监控模板 Mysql Overview,id 为 7362,并导入。targets 中的 IP 为 mysql_exporter 的 IP,端口号固定为 9104。这样在 grafana 中,就可以轻松监控 MySQL 的连接数、内存、表锁、慢查询、网。在 Grafana 中添加 MySQL 的监控模板。进入到解压后的文件夹中,执行命令。
2023-05-07 00:01:53
280
原创 性能测试-Linux命令性能监控
1.top命令1.top命令top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。top -c如果top命令查看cpu利用率超过100%通过在top的情况下按大键盘的1,查看cpu的核数top命令显示的是你的程序占用的cpu的总数,也就是说如果你是4核cpu那么cpu最高占用率可达400%,top里显示的是把所有使用率加起来。
2023-05-06 18:39:55
258
原创 Docker入门到精通
二、docker概念和快速使用Docker的核心概念:仓库 (docker hub),镜像(image), 容器(container)拉取镜像:一键安装-d关闭 后台运行:将容器的3306端口映射到主机的3309端口:初始化root用户的密码。docker内部是一个独立的操作系统(容器ubutu主机宿主机(外部centos操作系统)指定名字安装三、docker容器命令详解docker ps正在运行的容器管道过滤容器日志查看停止容器查看历史容器。
2023-05-06 09:49:23
100
原创 JMeter分布式压测
jmeter-server -Djava.rmi.server.hostname=xxx.xx.2.109 ,启动 anget jmeter-server 后面的参数指定 agent 的 IP这里是启动slave上的jmeter服务。-R:后面的是代理机的ip,对于jmeter的无非GUI方式进行压测不了解的可以查看笔者之前的文章进行学习。执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动。
2023-05-06 08:59:24
681
原创 Jenkins持续集成入门到精通-一篇就够
一、Jenkins安装和持续集成环境配置一、Jenkins安装和持续集成环境配置1)首先,开发人员每天进行代码提交,提交到Git仓库,测试人员进行合并;2)然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDKMaven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。3)最后,Jenkins把生成的jar或war。
2023-05-05 09:15:15
3977
1
原创 Linux下使用JMeter进行性能测试
这条命令表示为:在非GUI模式下使用本机运行Jmeter,执行的测试脚本为:/export/software/community-linux.jmx,并把结果文件输出到当前目录下,文件名为commnity-jmeter.jtl。将生成的jtl文件拿到windows的jmeter上显示不了请求信息:jmeter no data to display。1、把结果文件保存到Windows系统下,启动Jmeter添加聚合报告、每秒通过事务数等。
2023-05-04 11:23:03
2481
原创 Linux下安装Jmeter
官网下载链接:https://www.oracle.com/java/technologies/downloads/#java8 按Esc,然后wq保存刷新配置文件 java -version 查看配置成功不1、下载安装jmeter,Apache JMeter - Download Apache JMeter选.tgz后缀为linux安装包下载后放到linux服务器上,然后执行解压命令 将jmeter添加至配置文件中,使用命令 vim /etc/profile 打开配置文件,添加以下
2023-05-03 16:24:15
1378
原创 Python WEB UI自动化测试(2)-web自动化核心操作设计及封装
一.POM设计模式pom指的是page object module,po模式,也就是说会把每个页面当做一个对象来对待,而该页面下的动作都会封装在这个对象中。通过组装页面对象的操作来完成业务的封装。在编写测试用例时调用对应的业务完成测试即可。
2023-03-23 07:10:57
1459
2
原创 Python接口自动化测试-超级详细Pytest教程
pytest是单元测试框架,python当中比较流行的单元测试框架,一个是pytest,一个是unittest,用来做自动化,无论是UI还是接口,主要是可以配合对应的测试工具,使其有精美的报告,丰富的断言和参数化。unittest这个框架是官方库,pytest是在unittest框架基础上进行的进一步封装。pytest框架是可以兼容运行unittest写的脚本的。
2023-03-03 13:26:44
695
原创 Python WEB UI自动化测试(1)-Selenium基础(史上最详细,一篇就够)
对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动,浏览器驱动中包含了一个HTTP Server,用来接收这些http请求,HTTP Server接收到请求后根据请求来具体操控对应的浏览器,浏览器执行具体的测试步骤,浏览器将步骤执行结果返回给HTTP Server,HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。选取最前面的两个属于 bookstore 元素的子元素的 book 元素。
2023-02-25 16:15:35
2418
原创 Gitlab+Jenkins+Docker+SpringCloud微服务持续集成
Gitlab+Jenkins+Docker+SpringCloud微服务持续继承。
2023-02-19 03:14:38
203
原创 前端:VUE+Element UI、后端Spring Boot+Mybatis、方向代理:Nginx 前后端分离项目手工部署(测试项目带附件)
如果没有application.yml这个文件,会默认使用代码里面的数据库配置;如果项目跑不起来报错,把node_modules和package-lock.json删除后重新执行npm install命令;修改E:\nginx-1.22.1\conf\nginx.conf的文件。具体想知道用啥命令查看package.json文件,看开发配置了啥。打包完后将项目的目录下的dist目录压缩放到前端服务器。打开项目,输入mvn package,进行打包。步骤简单,到官网下载,然后解压就可以了。
2023-02-19 01:07:52
294
原创 Python+requests+pytest+allure封装接口自动化9-复杂结构json数据提取及替换
复杂json结构数据的提取,对于复杂的json数据,如果想快速提取,那么可以采用jsonpath的技术来做。
2023-02-18 16:10:52
1385
原创 Python+requests+pytest+allure封装接口自动化7-日志封装
requests_client.py,具体的思路是,变量kwargs,即可获取相应的header\body\url\post等;在common目录下新建一个logger.py的文件。
2023-02-18 11:33:22
1319
4
原创 Python+requests+pytest+allure封装接口自动化6-mysql、redis数据库封装
发贴的测试用例添加数据库的断言校验以及连接数据库通过配置文件获取数据库的账号、密码等信息;在common中新建一个mysql_db_util.py的文件。新建一个redis_util.py。
2023-02-12 19:10:31
620
原创 Python+requests+pytest+allure封装接口自动化5-MD5、RSA、AES加密方式封装
非对称解密算法,非对称指的是加密和解密用到的钥匙不一样,对于rsa来说他有公钥和私。:对称加密算法,对称指的意思就是加密和解密用到的私钥是一样的,在做接口测试时,需。钥,如果用公钥加密则用私钥解密,如果用私钥加密则用公钥解密。装完之后如果代码还报错,那么记得修改一下下述位置。encry_decry.py文件。在common目录中新建一个。
2023-02-12 17:19:14
634
原创 Python+requests+pytest+allure封装接口自动化4-EXCEL\YAML测试数据管理
1、在common目录中新建一个load_file.py的文件,封装excel的构造pytest支持的数据格式[[],[]]为了将数据和代码进行分离,我们可以将测试数据单独存储和管理,至于说你是存csv、excel、yaml、1、修改portal_login_api.py,把用户名和密码的参数传进去方法中。2.修改conftest.py,使用封装的yml函数参数化读取。excel的操作需要依赖第三方库,这里使用pandas。修改发帖的用例为通过EXCEL去构造Pytest数据。db,这些方式都可以,
2023-02-12 14:29:18
1012
3
原创 Python+requests+pytest+allure封装接口自动化3-测试用例编写
编写发帖的接口测试用例,在testcases/portal/portalArticle下创建test_001_create_article_api.py。测试用例都是放在testcases下的,大部分接口都依赖于登录所产生的token,那么token我们需要如何。处理才能统一性的做到token获取并赋值。其他测试用例编写同理。
2023-02-12 07:32:44
413
原创 Python+requests+pytest+allure封装接口自动化2-token问题解决以及业务接口封装
Python+requests+pytest+allure封装接口自动化1-token问题解决以及业务接口封装
2023-02-11 18:34:01
925
原创 Python+requests+pytest+allure封装接口自动化1-项目结构目录创建,requests库封装
从零开始,超详细封装python接口自动化测试框架
2023-02-11 17:23:43
2046
2
原创 TPS、响应时间和并发数的关系
三条曲线:吞吐量的曲线(紫色)、利用率(绿色)、响应时间曲线(深蓝色)。三个区域:轻负载区(Light Load)、重负载区(Heavy Load)、塌陷区(Buckle Zone)。两个点:最优并发用户数(The Optimum Number of Concurrent Users)、最大并发用户数(The Maximum Number of Concurrent Users)。
2022-10-07 10:46:31
1837
原创 性能测试1-性能测试指标
逻辑控制器JMeter 逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他控制器下 可以嵌套别的种类的逻辑控制器。逻辑控制器的种类如图:1、条件(if)控制器条件控制器,可以通过某个条件来控制此节点下的元件是否运行。Expression,表达式必须是返回true或false,可以使用JavaScript与变量表达式。参数说明如下。名称:一般命名XXX—条件控制器的作用(根据个人习惯),也可以为空。注释:可以注释下这个条件控制器的作用,可以为空。Expres
2022-10-07 10:30:24
605
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人