自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDEA工具中Java语言写小工具遇到的问题

一:读取excel时遇到 org/apache/poi/ss/usermodel/WorkbookProvider。在pom.xml中把poi的引文包放在最前面即可。

2024-07-17 15:49:55 388

原创 使用MeterSphere2.10版本遇到的问题

1.测试计划执行时报node处理任务异常:/opt/metersphere/data/body/9c478027-e759-4464-b2e0-fa163d8b6803_4567b47e-a01e-41b2-8d01-ebb48f44949a.jmx (No such file or directory)场景:由于是Jmeter中写完的接口,直接导入MeterSphere的,所以单独执行是可以的,如果批量执行或者在测试计划中执行就会报错。解决:先把信息头管理关掉,然后再打开就可以了。

2024-05-30 09:29:19 202

原创 Jmeter接口测试问题总结

2.可以用BeanShell取样器设置全局变量,也可以用BeanShell后置处理器设置,也可用JSR223后置处理器。一.设置token为全局变量。1.json提取token。

2024-03-19 16:49:09 456

原创 springBoo基本学习

当控制器在类级别上添加@RequestMapping注解时,这个注解会应用到控制器的所有处理器方法上。处理器方法上的@RequestMapping注解会对类级别上的@RequestMapping的声明进行补充。@RequestMapping:用于映射 URL 到控制器方法的注解,它被用于将一个特定的 URL 请求映射到一个处理该请求的方法上。通过 consumes 属性可以指定接受的请求的媒体类型,通过 produces 属性可以指定生成的响应的媒体类型。1.社区版IDEA创建SpringBoot项目。

2024-02-23 09:03:15 467

原创 git学习及简单maven打包

git checkout dev_test_caoqingqing_20240131 //将本地分支切换到新分支。解决:git pull --rebase origin dev_test_caoqingqing_20240131。git branch -D dev_test_caoqingqing_20240127 在本地删除一个分支。git branch dev_test_caoqingqing_20240131 //在本地新建分支。git branch -a //查看所有分支。

2024-01-31 19:32:41 710

原创 测试熟悉新技术

用户访问页面 -> 请求后端服务 -> 经过逻辑处理后,先去缓存(Redis)中进行查询,如果查到,则直接返回,如果没有查到信息,则直接向数据库进行查询,查询到之后返回给客户端时,也同时会将数据信息同步到缓存(Redis)中,以便下次查询。容器(container):镜像中的应用程序运行后所形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的.启动,停止,删除,基本命令,重新设置缓存:在更新db数据后,直接重新设置缓存。

2023-12-27 16:27:24 932

原创 性能测试总结-Jmeter代码使用

3.测试数据准备,测试账号(预估并发量),设计测试脚本(参数化,表达式,断言,控制器)4.运行测试脚本,数据监听(响应时间,tps,活动线程),结果分析(判断性能瓶颈)5:基本性能瓶颈做调优(tomcat线程池,jvm内存,swap内存,带宽)1.找产品沟通哪些接口需要压测,需要达到什么样的预期值(TPS和响应时间)6:调优之后做性能回归,和前期结果做对比,是否有明显的优化。2.编写测试方案,比如测试场景,时间计划,人力投入等。9:构建持久化的性能监听平台,监听线上的服务性能。

2023-12-23 21:32:04 494

原创 接口测试总结

以用户场景为基础,验证接口间的参数传递和业务流程是否能够正常流转,比如合规部用户登录-》新建保司-》商务部用户登录-》确定是否与该保司合作,使得业务流程形成闭环。这个阶段的用例复杂度比较高,需要非常熟悉业务与接口之间的关系,同时也是接口测试的核心且最有价值的部分。输入有效的入参,检查接口返回的响应结果,和接口文档是否一致,还要考虑一下,数据库的增删改查是否正确。3.安全性:构造恶意的字符请求,如sql注入,敏感信息、业务逻辑。比如:入参的长度,类型,必填,空值,边界值等。2XX,表示请求被正确处理。

2023-12-21 22:52:45 400

原创 小程序测试要点

按照数据流进行测试,检查输入的数据是否按照代码逻辑执行正确的输出,是否数据发生异常。同一功能不同入口有效性检查测试,需要覆盖不同的入口路径,以检查不同入口之间的交互是否正常。除了以上常规的小程序测试方法外,还有以下一些特殊的小程序测试技巧:功能-功能测试:小程序是由一个个的功能组合而成,所以可以通过对比各个功能的实现方式,来检查它们是否能够正常地组合在一起。性能测试:小程序通常需要处理大量的用户请求和数据,因此性能测试是非常重要的。安全测试:小程序需要保障用户的数据安全和隐私,因此安全测试非常重要。

2023-12-08 15:23:49 496

原创 H5页面测试思路

H5页面也能在PC端访问,Chrome对H5支持最好,功能相关的测试可以在PC端Chrome下先测试,也可以直接在手机上测试。页面返回或者手机自带返回键(安卓物理键返回/IOS左滑返回),点击一次和点击多次,按期望返回上一页,不会出现死循环,不会直接退回App主界面。微信内、QQ内、微博内、浏览器内 等 页面功能是否正常使用,支付、分享、各个功能是否正常使用。需要测试1页或多页的场景,数据分页加载时,注意后面加载的数据是否正确;下拉刷新后,页面是否还在当前页,页面数据是否正常展示;

2023-12-06 16:05:05 569

原创 APP功能测试思路

2.手机客户端未锁屏时:app应用后台运行,消息推送是否可以正常接受,且可以点击查看;总结一下,在我们的app测试日常中,其实最重要的是app的功能测试、app的兼容性测试(因为世面上的机型众多是需要去覆盖主流机型及操作系统),另外一点就是重点关注app的性能。1.测试2G/3G/4G/5G/WIFI网络的切换,从wifi环境切换到4G环境,提示是否启用4G网络,会产生扣费是否有提醒。3、非强制升级版本:用户可以取消更新,老版本能够正常使用,用户在下次启动app时,仍能出现更新提示。安装是否可以正常进行;

2023-11-30 15:53:51 903

原创 功能测试-用例编写

第一次使用系统的支付时,需要绑定支付方式,验证是否可以支持常用的微信,支付宝,信用卡,储蓄卡等,绑定后进入选择支付方式列表,还可以找人代付。:验证是否支持并且可以正常选择并支付,支付时结合优惠券/折扣券/促销价抵扣进行相关的抵扣,验证规则正确,并且可以正常抵扣和支付。:以支持的支付密码类型有:指纹,人脸识别,账号密码,小额免密等,确认自己的产品所支持的密码类型,确认可以验证并支付成功;需要验证最终显示支付金额、付款方式、收款方信息,然后需要去验证支付渠道的金额扣减是否正确,订单状态是否正确显示等。

2023-11-13 15:33:41 1403 1

原创 自动化之python面试

对于增删操作,列表的性能会略优于集合,因为列表的底层实现是基于数组,可以进行快速的随机访问和修改,而集合的底层实现是哈希表,针对某些情况下需要重新构建哈希表。对于查找操作,集合的性能明显优于列表,因为集合使用了哈希表来存储元素,可以在较短的时间内进行快速查找。不可变的:数字、字符串、元组(不可以进行更改,更改后就是一个新的对象了,物理地址发生了变化)有序序列包括:列表,元组,字符串 (list,tuple,string)-支持索引和切片。字典是键和值的配对,集合是一系列无序的、唯一的元素组合。

2023-11-09 16:39:03 413

原创 测试管理/项目开展/方案编写

2.分配任务和角色:测试团队应该根据成员的技能和经验,将测试任务分配给合适的人员,并为每个人员指定明确的职责和角色。此外,还需要为团队中的每个人员建立清晰的沟通和协作机制,以确保任务的顺利完成。3.设立测试流程和标准:测试团队需要建立清晰的测试流程和标准,包括测试计划、测试用例设计、测试执行、缺陷跟踪等流程,并确保所有成员都能够遵守这些流程和标准,以保证测试的质量和效率。4.使用合适的测试工具:测试团队需要使用合适的测试工具,包括测试管理工具、缺陷跟踪工具、自动化测试工具等,以提高测试的效率和准确性。

2023-11-09 16:21:28 204

原创 pytest与testNg自动化框架

soft依赖:此方式下,其依赖的方法或者组有不是全部pass也不会影响被标识依赖的类或者方法的运行,注意如果使用此方式,则依赖者和被依赖者之间必须不存在成功失败的因果关系,否则会导致用例失败。hard依赖:默认为此依赖方式,即其所有依赖的methods或者groups必须全部pass,否则被标识依赖的类或者方法将会被略过,在报告中标识为skip,此为默认的依赖方式;在编写测试用例时,很多用例会有前置准备工作,和后置清理工作,比如接口请求,断言,这时用@pytest.fixture装饰器来定义函数。

2023-11-09 10:35:02 718

原创 自动化之Java面试

但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误),并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法。对于遵循某个接口的抽象类,可以不实现该接口中的抽象方法。

2023-11-08 15:05:30 534

原创 MeterSphere使用之自定义代码段

【代码】MeterSphere使用之自定义代码段。

2023-07-26 12:09:37 492

原创 HttpRunner的基本使用

HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等 网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强 大,具有丰富的插件化机制和高度的可扩展能力。支持以yaml和json格式定义测试案例支持响应验证支持初始化清除机制支持套件级别的用例管理支持pytest命令,hrun底层封装的pytest(v3新特性)支持allure生成测试报告(v3新特性)支持性能测试(v4 Golong)2.安装。

2023-06-09 12:52:44 927

原创 Python之Django的基本使用

这样, 多的一方通常也叫做。根据子表(从表),来查找父表(主表)信息,我 们叫做 正向查询,和正向查询相反,通过父表(主表)来查询子表(从表),叫做 可以用.子表类名小写_set来查询。我们所有的路由配 置,都以数组的方式,定义在 urls.py 文件中,每个app应用下的/urls.py定义好之后,再汇总到项目下的 /urls.py。在ORM中,一张表就是一个模型类,因此我们可以在 应用名/models.py 文件 中,先定义一个类,必须继承django自带的模型基类(models.Model)

2023-06-09 12:38:42 5481

原创 Vue3总结(持续更新)

属性的简写::当属性名和值的变量名相同时,触发对象的属性简写let name = ‘张三’;export:规定模块的对外接口,如果希望外部能够获取模块内的某个变量/函数/类,就必须在模块中使用export输出该变量/函数/类。原理:异步执行,当接口请求后,可以去做其他事情,等接口返回成功再渲染页面,接口返回失败也会有相应的提示。export default:每个模块【只能够使用一次】,可以导出变量,常量,函数,类,匿名函数。是一个只读的常量,声明时,必须赋初值,一旦声明,栈值就不能改变,

2023-04-19 22:32:03 2948 2

原创 测开遇到的问题

1.httprunner生成的日志中文乱码。

2022-11-14 10:43:47 163

原创 app自动化测试面试题(持续更新中)

1.adb常用命令查看当前连接的设备:adb devices查看手机安装的apk包名:adb shell pm list packages -3查看当前运行的app的包名和类名(baseIntent):adb shell dumpsys activity电脑发送文件到手机:adb push <本地路径><手机路径>手机发送文件到电脑:adb pull <手机路径><本地路径>安装软件:adb install 包查看前台应用activity应用

2022-02-09 15:21:35 2049

原创 APP自动化遇到问题总结-持续更新

1.app自动化页面无法使用uiautomator和appium定位,原因是因为页面做了截屏限制,如果是自己的页面可以让开发重新打包一个没有禁止截屏的apk,如果是第三方软件,那么需要获取页面资源进行解析然后定位,例如: self.driver.find_element(By.XPATH, ‘//*[normalize-space(@text)=“1”]’)参考:https://blog.csdn.net/Snow_python/article/details/96474233...

2022-02-08 18:33:45 2403

原创 接口自动化测试面试题(持续更新中)

1.接口自动化框架搭建2.常用的库3.接口关联的处理4.数据驱动的做法5.数据的存放

2022-01-17 17:22:24 11327 5

原创 web自动化遇到问题总结-持续更新

1.一个案例里打开两个浏览器进行登录解决:conftest.py:def get_driver():# 第一option = webdriver.ChromeOptions()# 解决谷歌浏览器提示“Chrome正在受到自动化测试软件的控制”option.add_experimental_option(“useAutomationExtension”, False)option.add_experimental_option(“excludeSwitches”, [‘enable-automa

2022-01-13 18:53:35 3048 1

原创 web自动化测试面试题(持续更新中)

1.xpath和css的区别1.css写法更简洁2.css查找效率更快3.xpath功能更强,但是效率较低4.css不能用text2.selenium的原理

2022-01-07 16:19:05 2175

翻译 Python-日志管理模块:Logure的使用

1.安装pip\pip3 install loguru2.add()函数在使用logging模块是,我们需要手动配置Handler、Formatter以及Filter,需要调用不同的函数进行配置,但是在loguru中,只需要一个add()函数即可。通过add()函数,我们可以设置Handler,设置Formatter,Filter Message以及设置Level。使用示例:创建带指定创建日志文件名的日志logger.add(logdir+’/{time}.log’, level=“INFO”,e

2022-01-05 11:00:28 798 1

原创 python的Web自动化总结

测试数据的整理框架的整理commob层工具模块:1.jsonpath提取值2.读取ini文件3.Md5解码存放文件路径 模块:1.配置文件目录2.日志文件目录3.截图存在目录4.测试数据目录5.测试用例 目录方法封装模块:1.等待元素可见2.查找单个元素3.查找元素列表4.点击元素5.输入文本6.获取元素的文本7.获取元素的属性值8.切换iframe9.切换窗口10.执行js11.失败截图conf层:通用数据1.登录账号2.系统通用地址outPuts

2021-12-21 19:55:09 543

翻译 pytest学习

1.安装pytest: pip install pytest2.编写用例 - 收集用例 - 执行用例 - 生成报告3.pytest如何自动识别用例 识别规则如下:1、搜索根目录:默认从当前目录中搜集测试用例,即在哪个目录下运行pytest命令,则从哪个目录当中搜索;2、搜索规则:1)搜索文件:符合命名规则 test_*.py 或者 *_test.py 的文件2)在满足1)的文件中识别用例的规则:2.1)以test_开头的函数名;2.2)以Test开头的测试类(没有__init__函数)当

2021-12-21 11:29:35 2099

原创 python接口自动化总结

接口测试流程:1.测试用例的整理excel管理测试案例,一条案例包括id(案例序号),title(案例描述),method(请求方法),url(请求地址),pre_sql(从sql里取请求接口需要的入参),request_data(请求参数),extract(提取接口返回值),expected(期望返回结果),check_sql(数据库断言sql及期望值)入参来源:【数据库读取,yaml文件读取,随机生成,上一个接口的返回值】数据库读取,随机生成,上一个接口返回值:需要用到正则表达式,所以入参需

2021-12-14 15:54:52 1630

原创 python接口自动化遇到问题总结-持续更新

前提:管理用例用的是excel1.读取用例时入参带“\n”,原因是有空格解决:在notePad++里\n和\r都替换下,或者在代码里 case_str=case_str.replace("\n", “”).replace("\r", “”)2.2.一个sheet管理的案例需要两个不同的token,通用获取token是在conftest.py里,但是B案例需要获取上一条A案例的token,这时就需要把A的token动态setattr存入类中,然后判断如果有token,则请求时就不用通用token

2021-11-29 13:58:10 2631

原创 python接口自动化运行时突然报出现警告ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate veri

requests请求报:ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)解决办法:添加:verify=False但是又会报:InsecureRequestWarning: Unverified HTTPS request is being made to ho

2021-11-23 20:49:25 2285

原创 使用正则表达式时提示:DeprecationWarning: invalid escape sequence \w

原因是Python3将字符串解释为Unicode字符串,因为正则中的D或者*就被视为转义的Unicode字符,解决的办法有两种:原: data_mark_list = re.findall("#(\w+)#", case_str) # 列表改过后: data_mark_list = re.findall(r"#(\w+)#", case_str) # 列表或 data_mark_list = re.findall("#(|\w+)#", case_str) # 列表总结:一种是:在

2021-11-19 15:35:03 3178

原创 pytest+allure执行用例的两种方式

now_time = datetime.now().strftime("%Y-%m-%d %H-%M-%S")report_name = “caoqq-pytest_test_{}.html”.format(now_time)report = os.path.join("–html=outPuts\reports",report_name)**第一种:命令行:‘allure serve outPuts/allure**# 指定运行某个用例 https://blog.csdn.net/weixin

2021-11-03 17:59:22 857

原创 正则表达式-脑图

2021-11-01 14:04:35 184

原创 小程序和公众号自动化测试

1.识别手机2.开启调试:针对微信版本在7.0+,微信有对H5开关做了调整,需要在聊天窗口输入如下:http://debugmm.qq.com/?forcex5=truehttp://debugx5.qq.com3.获取小程序所在的进程(微信有多个进程,需要知道小程序运行时是在哪个进程当中):打开微信进入小程序后,在cmd当中运行:获取进程号命令:adb shell dumpsys activity top | findstr ACTIVITY获取进程名称:adb shell ps 进程号

2021-09-17 11:14:22 764

原创 APP自动化-无法清空输入框默认值继续输入

通过键盘操作全选,然后直接send_keys(), 不用clear()from selenium.webdriver.common.keys import Keys先切换至webviewelement = driver.find_element_by_xpath(‘xpath路径’)element.send_keys(Keys.CONTROL, ‘a’)element.send_keys(10000)...

2021-09-13 13:23:25 271

原创 (Python)App自动化之日期滑动(带年月日)

def splid_data(self,year,month,day):ele = self.driver.find_element(By.XPATH,"//*[contains(@text,‘确认’)]")if ele!=None:#元素的宽width = ele.size[‘width’]# 元素的高height = ele.size[‘height’]# 控件相对于整个屏幕的高度y = ele.location[‘y’]self.switchWebContext()action =

2021-09-08 18:20:06 593

原创 封装APP自动化之原生按钮点击(Python)功能 - 面上有多个与按钮同名的文本

class ClassName:@classmethoddef setAppium(self): print("setUpClass---------------") caps = {} caps["deviceName"] = "LUGUT19A17003417" caps["platformName"] = "Android" caps["appPackage"] = "com.tencent.mm" caps["appActivity"] = ".u

2021-08-31 13:31:24 233

原创 app自动化定位元素的三种方式

1,appium自带的appium inspector2.android_sdk自带的uiautomatorviewer注意:用jdk1.83.python版uiAutomator2中的weditor安装uiAutomator2:pip install -U uiautomator2初始化命令(往手机上推送apk包):python -m uiautomator2 init安装定位工具weditor: pip install -U weditor安装完成之后:命令行运行:weditor --he

2021-08-30 13:15:45 268

空空如也

空空如也

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

TA关注的人

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