自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电商项目环境搭建

写下这个搭建流程,记录踩坑点以及方便后续可能遇到这种类型的测试环境搭建。项目选型:选用现在电商项目比较流行的框架Spring Boot +Vue.js(前后端分离)项目简介:https://gitee.com/microapp/linjiashop#http://microapp.gitee.io/linjiashop/项目介绍:邻家小铺对于这个项目,成功搭建部署起来需要一点基础知识,例如:1.具备java基本知识,搭建jdk环境2.了解mysql的搭建,mysql的基础知识3.了解mave

2021-02-25 23:31:07 683 3

原创 Jmeter-非GUI模式下运行jmeter脚本-适用于服务器上持续集成测试

l : -l 选项后面跟着用于保存测试结果的文件路径和名称,log.jtl 是 JMeter 默认的结果文件格式,保存了每个请求的详细信息。-n: 表示以非 GUI 模式运行 JMeter,也就是无界面模式,通常用于自动化测试或者服务器上运行。-t : -t 选项后面跟着测试计划文件的路径,xxx.jmx 是 JMeter 测试计划文件的名称。jmeter: 这是 JMeter 的可执行文件路径,用于启动 JMeter 工具。-o : -o 选项后面跟着 HTML 报告的输出路径。

2024-04-21 15:36:40 317

原创 Jmeter-跨线程传参(正则提取多个参数、jsonpath提取器)

”,但是没法取到值,所以就把中间的值都取出来,然后舍弃。,实际都是将需要的数据提取出来,然后通过BeanShell PostProcesso,将提取的数据设置为全局变量,以供其他线程组共同使用。为了避免该情况,被依赖的线程组最好是setup线程组,或者在测试计划勾选“独立运行每个线程组(例如在一个组运行结束后启动下一个)”由于是跨线程组的传参依赖,有时候两个线程组执行的顺序是无法确定的,所以可能会出现依赖全局参数的请求先执行,导致引用值失败。多个线程组的请求都依赖登录接口,但是登录接口仅执行一次。

2024-04-11 22:17:48 526

转载 Jacoco Java项目生成测试覆盖率报告使用

使用 file 的方式只有在停掉应用服务的时候才能产生覆盖率文件,而使用 tcpserver 的方式可以在不停止应用服务的情况下下载覆盖率文件,后面会介绍如何使用 dump 方法来得到覆盖率文件。代码覆盖率,是一种通过计算测试过程中被执行的源代码占全部代码的比例,进而间接度量软件质量的过程。编译时插桩,在测试前先对文件进行插桩,然后生成插过桩的class或jar包,测试插过桩 的class和jar包后,会生成动态覆盖信息到文件,最后统一对覆盖信息进行处理,并生成报告。

2024-01-10 18:00:18 425

原创 【解决MySQL-jdbc连接问题】com.mysql.jdbc.Driver was not found, trying direct instantiat

driver 目前用的是 com.mysql.jdbc.Driver,新版已经变为 com.mysql.cj.jdbc.Driver。而且接口有时候能访问成功,有时候的超时连接,异常的慢。经查询,是由于时区配置的有歧义。

2023-06-12 10:13:21 3782

原创 pymysql-client_flag标识(解决同时执行多条语句)

具体来说,当使用execute()方法执行SQL语句时,如果语句中包含多个语句,如果没有设置client_flag.MULTI_STATEMENTS,则会报错。而如果设置了这个标志,PyMySQL就可以将它们作为一个整体发送到服务器执行,这在某些情况下会提高效率,但同时也会增加安全风险。检查了语句也没有语法错误,在网上查一下是由于pymysql默认是单条sql执行,同时传入多条会报错。最近测试数据需频繁修改数据库,而且是要开启事务多条语句执行的,所以封装一些脚本执行。是一个参数,它表示客户端标志。

2023-05-26 16:39:28 1179

原创 Pytest-测试报告发送到钉钉群

第一步:当然是在群里添加钉钉自定义机器人添加时最重要的是 webhook地址(发送消息的请求链接信息)、自定义关键词(发送消息内容必须包含关键词才能发送)https://open.dingtalk.com/document/robots/custom-robot-access/第二步:在代码中添加发送钉钉消息的请求直接上代码,很简单由于该接口测试框架是集成Jenkins,以BUILD_TAG命名文件夹存每次测试的报告发送钉钉消息是用pytest的钩子函数 pytest_terminal_summa

2023-05-12 23:55:49 463

原创 Flask-mock接口数据流程

使用Flask mock接口数据去测试客户端页面,提早介入测试

2023-03-11 15:55:19 535

原创 jmeter-定时器

jmeter定时器

2023-03-08 23:35:18 1577

原创 pytest-html报告处理重复日志输出

pytest-html测试报告的踩坑点

2023-03-07 23:46:10 519

原创 python 利用装饰器处理全局的捕抓异常报错信息

主要的实现就是利用装饰器,catch_exception函数会捕抓异常并打印出现异常的函数方法名称和异常原因,将所可能报错的函数都放在这个装饰器函数内执行,只需在函数加上catch_exception装饰器,方便查看异常信息。2022-12-14 17:17:02,447 - logger - ERROR - demo方法出现异常,异常原因:division by zero。下面用test_demo的例子来说明。

2022-12-14 17:24:27 724

原创 python @classmethod装饰器理解以及使用

中文说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法以下例子:以下打印执行顺序我所理解就是先执行指定的类方法,class method可以用来为一个类创建一些预处理的实例这样的好处就是后续重构类的时候不必要修改构造函数,只需要在类中添加特定处理的函数,然后使用装饰符 @classmethod 就可以了。

2022-12-07 10:14:31 379

原创 接口自动化测试失败重试机制-rerunfailures

在执行接口测试用例的过程中,稳定性在整个测试运行中是非常重要,但经常会遇到服务器不稳定或者网络不稳定的情况,只执行一次用例结果可能说明不了问题,会把用例判断了“假失败”,为了避免这种假判定,这个时候可以引入重试机制,pytest框架相较于unittest的一大优势就在于拥有用例失败的重试机制,以此来应对环境不稳定问题或者是测试用例脚本的不稳定性问题。能够大幅提高用例的成功率,但是也会增加执行时间。

2022-12-06 09:28:38 854

原创 接口测试多线程执行用例-Pytest-xdist

在目前实际项目下的接口自动化用例会非常多,如果采用单进程串行执行的话会非常耗费时间,在实际项目中如服务端开发对底层的公用模块进行改动,此时我们测试QA就需要回归所有服务的接口,这时执行所有服务下接口自动化用例可能少则需要半小时、多则需要好几个小时,这是很低效率的。为了节省项目回归测试的时间,需要多个测试用例同时并行执行,这就是一种分布式场景来缩短测试用例的执行时间,提高效率。但是在分布式执行用例要遵循以下的原则:1.用例之间是相互独立的,没有依赖关系,可以独立运行;

2022-12-06 09:28:03 2213

原创 pytest配置文件-pytest.ini

pytest.ini配置文件常用参数说明

2022-10-25 11:06:40 901

原创 【Jmeter下dubbo接口测试】

dubbo接口测试sample

2022-07-22 23:40:12 344

原创 python发送rabbitmq消息

python 使用 pika 发送rabbitmq消息

2022-07-10 13:06:16 1825

原创 python json.dumps中文乱码

python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成ascii编码了。英文字符能正常显示可读字符。原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。解决办法加上 ensure_ascii=Falsej

2022-03-29 12:07:27 7508

原创 sys.path.append()用法

sys.path 返回的是一个列表!该路径已经添加到系统的环境变量了,当我们要添加自己的搜索目录时,可以通过列表的append()方法;对于模块和自己写的脚本不在同一个目录下,在脚本开头加sys.path.append(‘xxx’):用命令行去执行测试脚本的时候,如不添加当前项目路径,会报找不到模块的错。在pycharm中运行的时候,pycharm会自动将项目所在目录添加到了sys.path中,所以从项目根目录查找是可以找到该模块的。#获取项目相对路径basedir2=os.path.dirna

2022-03-24 23:39:58 3840

原创 pytest+Allure+Gitee+jenkins接口自动化实现持续集成

记录下自己工作中的接口自动化框架实现持续集成的过程:1.接口测试框架:Pytest2.使用Gitee作为本次记录(工作当中用的是GitLab)3.报告使用Allure4.持续集成的工具用Jenkins各个工具的安装与使用不详细说,主要记录每个数据连接Jenkins安装配置Gitee插件与Allure插件在 Manage Plugins 里搜索Gitee 以及 Allure配置Gitee安装完后到 Configure System内配置Gitee链接名:GiteeGitee 域名

2022-02-27 19:28:42 1068

原创 python 装饰器

记录下python装饰器的作用,经常忘记这个,又回想不起来,肯定是因为少用。先上个简单的装饰器例子from functools import wrapsdef other_fun(func): print("开始执行other_fun") @wraps(func) def warrp(): print("开始执行warrp") func() print("执行完warrp") return warrp@other_f

2022-02-17 22:33:08 535

原创 python-获取UUID

UUIDUUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。**UUID是由一个十六位的数字组成,表现出来的形式例如**550E8400-E29B-11D4-A716-446655440000UUID的用处UUID在项目中文件上传时使用用来生成一个文件名的前缀,那么每次请求生成的前缀就会不同,从而不会让新上传的文件因为同名而覆盖旧文件。因为我工作当中的接口需要传uuid,所以

2021-07-25 11:40:21 3974 1

原创 接口自动化-md5 密码加密

#引用hashlib,属于python自带的,不需要安装import hashlib'''封装获取MD5的方法'''class MD5: def get_md5(self,psw): #实例化md5对象,然后调用update方法 md5=hashlib.md5() #调用加密方法直接加密 md5.update(psw.encode("utf-8")) #返回md5密码 return md5.he

2021-07-25 11:21:41 378 1

原创 后端接口测试-基础结构的测试用例

2021-06-24 22:46:59 669 3

原创 Android APP性能测试以及性能指标

Android的app性能测试包括的测试项:Activity响应时间,帧率,内存,cpu消耗,耗电量,冷启动Activity响应时间的相关测试查看当前APP打开的页面命令:adb shell dumpsys activity | findstr mResumedActivity然后用命令去打开APP的某个activityadb shell am start -W packageName/ActivityName得出进入该activity的耗时startTime记录的刚准备调用start

2021-06-20 17:21:04 1353 2

原创 python 实现简单的算法示例

def maopao(list): for i in range(len(list)): for j in range(len(list)): if list_shuzi[i]<list[j]: temp=list[j] list[j]=list[i] list[i]=temp print('冒泡排序后的列表:',list) return l

2021-04-01 21:04:16 176

原创 Linux下(CENTOS 7)安装Mysql

下载mysql安装包wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装 yum -y install mysql57-community-release-el7-10.noarch.rpm安装mysql服务 yum -y install mysql-community-server启动mysql服务systemctl start mysqld.service查看mysql服

2021-03-21 10:17:11 75

原创 Postman+Newman+Git+Jenkins实现持续集成接口自动化

用Postman做接口自动化简述流程:1.用Postman写好接口用例,同步到workspace,方便团队成员进行修改用例;2.导出Postman的接口集合用例,json文件导出Postman的环境变量,json文件用例和环境变量以及数据csv文件可以上传到Git,查看或者更新3.使用Newman命令行执行Postman脚本去生成htmlextra报告4.可以用Jenkins去定时执行脚本邮件通知,实现定时监控接口自动化1.用Postman写好接口用例用例编写Test断言设置环境变量

2021-03-02 14:23:34 1025

原创 安装初始化MySQL(Windows下)

1.到官网上下载MySQL安装包 https://dev.mysql.com/downloads/mysql/可选不同的操作系统下载(linux windows都可以)我这边用的时候windows解压到指定的目录下2.初始化和配置MySQL用管理员权限打开cmd窗口,直接进入到MySQL的bin目录下安装MySQL,成功后会提示Successfullymysqld --install初始化MySQL,初始化最后会生成一个root用户的随机密码,记得记录下来用于第一次登录mysqld

2021-03-02 10:23:40 165

原创 APP-耗电量测试-battery-historian-master

这里主要是比较简单的Battery historian的操作,这个脚本文件只能用在python2版本,python3会语法报错1.首先要下载并且解压historian的压缩包文件battery-historian-master.zipGithub下载地址2.然后用adb命令开始操作手机首先是清除测试前电量的数据adb shell dumpsys batterystats --reset...

2020-04-03 14:52:07 475

原创 Selenium-select选框报错(element is not attached to the page document)记录

记录一下自动化测试中遇到的select选框点击问题1.先贴代码#打开谷歌浏览器driver=webdriver.Chrome();#driver.fullscreen_window();#输入百度网站driver.get('https://www.google.com/');#driver.find_element_by_xpath("//*[@id='tsf']/div[2]/di...

2020-03-30 16:24:14 726

原创 monkeyRunner+Java的脚本编写示例

MonkeyRunner1.monkeyrunner是Android SDK中自带的工具之一,该工具会提供API使用于控制Android设备或者模拟器,包括唤醒,启动app,安装和卸载app,点击和触摸事件,输入事件,截图保存等。。。2.monkeyrunner一般是使用monkeyrunner.jar 这个文件路径在 android-sdk-windows\tools\lib\monke...

2019-07-09 11:10:51 466

原创 Robotium-Eclipse环境搭建和入门示例

Robotium是基于Instrumentation的测试框架1.主要用的文件robotium-solo-5.6.3.jar2.创建Eclipse Robotium工程选择Android->Android Test Project选择被测试项目(这个例子是针对已有源码的项目进行测试,Robotium还可以针对只有app安装包的项目测试)创建package和测试脚本文件这里使...

2019-06-30 14:46:06 309

转载 Robotium-基础理论介绍

RobotiumRobotium是一款类似Selenium但面向Android端的开源自动化测试框架,既支持测试Native应用,也支持测试Hybrid应用(混合 模式应用,指介于WebApp与NativeApp两者之间的App,兼具Native App良好的用户交互体验的优势以及Web App跨平台、易变更 的优势);既支持黑盒形式的自动化测试,也支持白盒形式的自动化测试。通过Robotium...

2019-06-30 13:31:44 1747

原创 Robotium_(ClickByID方法)

封装ClickByID的方法Robotium通过控件的ID来使用控件private boolean ClickById(String name) { Activity act=solo.getCurrentActivity(); int id=act.getResources().getIdentifier(name, "id", act.getPackageNam...

2019-06-28 15:56:44 156

原创 Appium+Android教程_第三章(简单的微博登录测试脚本)

最近在自学Appium,写了个脚本,记录一下。附上代码Testcase0_微博登录public void test0_login() throws Exception { //driver.findElementByXPath("//*[@text='退出']").click(); //微博提示获取权限 if(driver.findElementById("com.sin...

2019-06-28 11:33:00 744

原创 Android_APP调用Location功能

记录一下Android APP调用Location功能的使用方法。主要是LocationManager,LocationListener这两个:1.LocationManager可以用来获取当前的位置,追踪设备的移动路线,或设定敏感区域,在进入或离开敏感区域时设备会发出特定警报 。requestLocationUpdates(provider,1000L,0.0F,MainActivity...

2019-06-25 11:14:14 945

原创 Appium+Android教程_第二章(Appium的使用)

使用Appium所需要的文件和环境1.PC java环境的配置2.Eclipse+java+Android SDK的配置3.Appium 所需要的文件http://appium.io/downloads.htmljava-client ->Appium java的lib文件Appium-windows-1.13.0.exe->Appium Windows的Server安装...

2019-06-23 17:18:40 333

原创 Appium+Android教程_第一章(Appium的介绍)

1.Appium介绍Appium是一个开源的、跨平台的自动化测试框架,该框架适用于Native Application、Mobile Web Application或Hybrid Application 的自动化测试。Native Application指的是基于智能手机本地操作系统如iOS和Android并使用原生编程语言(如Android上使用Java) 编写并运行的第三方应用程序。Mobi...

2019-06-23 15:28:29 165

原创 Java实现冒泡排序+二分法查找

记录一下基础的排序和查找:public class java_test { public static void main(String[] args) { //从键盘输入10个整数存入数组arry int[] array=new int[10]; System.out.println("请输入十个整数"); for(int i=0;i<array....

2019-06-23 12:43:52 396

空空如也

空空如也

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

TA关注的人

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