自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 腾讯、飞书等在线表格自动化编辑--python

在线文档自动化处理数据

2023-07-13 14:54:53 16010 6

原创 随笔-定时任务

【代码】随笔-定时任务。

2023-02-16 13:55:51 241 1

原创 jenkins添加linux节点并创建任务

jenkins添加linux节点并创建任务

2023-02-06 17:47:53 1339

原创 JMETER做接口自动化规范文档【自用】

Jmeter接口自动化书写规范

2023-01-28 15:57:10 575

原创 python实现XML文件的内容变更

python实现xml文件的内容变更

2023-01-28 11:32:49 4200

原创 jmeter做接口和自动化常见的使用方法

jmeter做接口和自动化过程中常见的问题整理

2023-01-28 10:40:00 1248

原创 jmeter——BeanShell 预处理程序

jmeter——BeanShell 预处理程序一、BeanShell 预处理程序描述和作用二、BeanShell 预处理程序的使用三、BeanShell 预处理程序的注意事项四、BeanShell 预处理程序的拓展一、BeanShell 预处理程序描述和作用BeanShell 是小型的嵌入式java的解释器,能够执行java语法BeanShell 预处理程序一般是处理解决我们的请求之前需要做的一些前置准备工作的处理,通过java语法来实现的二、BeanShell 预处理程序的使用BeanShell

2022-05-18 19:20:31 4257

原创 jmeter——jmeter+ant生成优化的HTML接口自动化测试报告

jmeter+ant生成优化的HTML测试报告一、最终实现效果展示二、实现方式1、环境搭建2、实现原理3、报告生成方式三、实现步骤1、jar包转移:实现ant调用jmeter脚本2、jmeter插件包处理3、build文件的创建和修改4、报告展示信息调整5、html报告样式优化四、遗留问题、一、最终实现效果展示我们jmeter本身生成的接口自动化测试报告不能详细的展示出我们常见的信息,所以在此基础上进行了优化,下面是优化之后的结果,既可以查看汇总信息也可以对每个接口的请求返回进行查看方便定位问题

2022-05-10 15:22:50 2836 3

原创 jmeter——生成多样的接口自动化html报告

jmeter——生成多样的接口自动化html报告一、实现目的二、实现效果1、jmter自带的HTML报告2、jmeter+ant报告优化3、批量执行jmeter工具4、jmeter+allure生成测试报告三、实现方案1、jmeter自带的HTML报告2、jmeter+ant优化测试报告3、使用jmeter脚本批量执行工具生成4、jmeter+allure生成测试报告四、遗留问题一、实现目的对于接口自动化来说有很多工具和框架来实现,比较常遇到的实现工具非jmeter莫属啦;简单的界面、轻巧的安装配置、

2022-05-10 14:12:59 2356 4

原创 图形验证码文字识别——pytesseract

图形验证码内容识别——pytesseract一、目的二、实现方式三、环境准备四、代码实现五、拓展一、目的我们工作中会遇到一些需要把图片中的文字识别出来使用的例子,比如:图形验证码、提取图片中的文章等如果工作量比较小或者不需要重复执行的话人工就可以啦,但是恰恰一些场景是需要我们实现自动化识别的这就很烦,急需一个来实现此功能的方法,我们常用的是OCR识别,但是怎么识别?二、实现方式本文主要是通过python的pytesseract库来实现图片中文字的识别,实际是通过pytesseract调用te

2022-05-06 19:43:49 822

原创 selenium+pytest——失败用例重试

selenium+pytest——失败用例重试一、目的在我们使用selenium+pytest做UI自动化的时候偶尔会遇到因为特殊情况比如浏览器加载失败、网络波动等等导致用例运行失败(可能单独运行没问题),对于这些场景产生的用例结果不是我们想要的,那这么可以避免这种情况,如果对代码进行这些异常情况的处理也是一个实现方式但是过于浪费时间和精力,此时我们就可以采用pytest框架本身支持的一种方式,对于错误的用例进行重试,达到我们的目的。二、实现方式需要使用第三方库:pytest-rerunf

2022-03-14 10:35:10 1684 3

原创 jmeter——提取内容到文件

jmeter—— 提取内容到文件一、目的在jmeter使用的时候有时我们会需要把一些接口的指定内容输出到本地用于其他线程组、脚本中调用。二、实现方式主要是两个步骤1、提取接口数据对于jmeter来说,它本身就提供用于提取接口数据的方法我们直接调用就行,常用的有【后置处理器】:1、JSON提取器: 因为响应结果大多是json形式,我们就可以直接使用json参数值进行提取,更加精确,表达式格式 .$最外层参数名.下一级参数名 这里推荐一个大佬的详细讲解:[json提取器](https://w

2022-03-11 10:56:37 2490

原创 jmeter——条件判断处理

jmeter——条件判断处理一、背景jmeter使用的时候有时需要我们判断是否满足前置条件,如果不满足则制作数据,如果满足则直接使用,此时就需要我们使用逻辑判断。二、实现jmeter实现判断逻辑可以使用『如果(If)控制器』1、右击【添加】选择【逻辑控制器】选择【如果(if)控制器】2、输入需要判断的内容:判断变量内容的规则(变量不存在也可判断):KaTeX parse error: Expected group after '_' at position 2: {_̲_javaScript

2022-03-04 14:16:41 2430

原创 selenium定位中高级语法

selenium定位中高级语法一、xpath定位中starts-with、contains和text()的用法starts-with :匹配一个属性开始位置的关键字来定位元素contains :匹配一个属性值中包含的字符串来定位元素text() 匹配的是显示文本信息,文本为指定内容的元素所在位置案例://input[starts-with(@name,'666')] 查找name属性中【开始】位置包含'666'关键字的页面元素//input[contains(@name,'66')]

2022-03-02 17:11:24 3428

原创 通过selenium获取浏览器的cookie等头部信息

通过selenium获取浏览器的cookie等头部信息一、背景介绍对于部分有登陆限制的网站/APP我们无法通过登陆接口实现登陆(比如验证码)但是我们还想绕过登陆接口通过接口来实现一些操作,毕竟UI自动化比较慢。想到了可以通过UI自动化来进行登录(之前也介绍过UI自动化实现自动登录,包括验证码的实现),然后获取登陆后的cookie等信息,进而实现接口操作二、实现方式seleniumUI自动化登陆,然后再登陆后获取当前的headers信息。通过获取的headers信息采用接口的形式实现我们的操

2022-02-24 17:14:44 5660 1

原创 selenium——浏览器插件

selenium——浏览器插件前一段时间做自动化的时候发现脚本打开的浏览器是不调用安装的浏览器插件的,难道我们跑一次脚本安装一次?这也不现实,毕竟本身我们已经在浏览器安装了插件,在网上找了一些方案,下面记录一下:# 启用带插件的浏览器option = webdriver.ChromeOptions()option.add_extension(r'D:\test1\autoFill.crx')driver = webdriver.Chrome(chrome_options=option) # 打

2022-02-17 16:25:11 3601 2

原创 python中定时执行脚本

python中定时执行脚本# 引入time, os, sched,这三个是必备的import time, os, scheddef ll(num): print('123123456') with open('tt.txt', 'ab') as txt: txt.write(('2222222222222222222' + str(num)).encode()) txt.write('\n'.encode())def perform_comman

2022-02-12 10:46:10 3008

原创 monkey测试使用手册

monkey压力测试一、介绍Monkey测试原理:Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。二、环境搭建SDK搭建:略模拟器下载和配置(真机不需要这一步,推荐模拟器:夜神、闪电)adb文件替换(模拟器):把模拟器安装目录下的adb.bat文件复制到SDK(SDK\platform

2022-01-13 14:48:16 1909

原创 appuim+python常遇到的问题

appuim+python常遇到的问题'''appuim使用过程中常见的问题'''import time一、内嵌H5定位 1/在web自动化中我们会遇见frame的问题,在遇见这些内嵌的标签后我们需要做的就是切换窗口, 那么在app自动化测试也有类似的情况就是我们经常看见的内嵌html,在我们原生的app中增加一个由html做成的页面; 2/需要切换contexts那么就需要获取页面的所有contexts,代码实现: webview = driver.co

2022-01-12 11:30:51 1128

原创 适用于winform程序的UI自动化实现(python+uiautomation)

适用于winform程序的UI自动化实现(python+uiautomation)一、使用的工具和库定位工具:inspect(提取码:kvwx)、UISpy(提取码:ab0e)python库使用:subprocess(内置库,用于打开应用程序)uiautomation(pip install uiautomation安装)二、原理使用subprocess库打开应用程序,然后借助定位工具采集定位应用元素的信息,然后在定位到的元素上进行输入、点击、获取等一系列操作(通过uiautomation的方法实

2021-12-30 14:29:05 4712 1

原创 python爬虫——文件压缩

python爬虫——文件压缩import osimport reimport zipfile#压缩文件'''压缩文件夹内的各个文件操作,传参需要压缩的文件夹位置path01压缩文件的保存位置path02文件压缩的实质时创建一个zip文件然后把选压缩的内容写入zip文件'''def zip(path01,path02): path1 = path01 + '\\' # 读取文件夹内的所有文件 files = os.listdir(path1) for f

2021-12-18 10:45:07 1430

原创 selenium-滑动验证码实现

selenium-滑动验证码实现 def move_code(self,loc1,loc2,loc3): '''滑动滑块验证码 loc1 = 滑块图片的元素定位 loc2 = 背景图片的元素定位 loc3 = 滑动按钮的元素定位 脚本位置是在Testcase/Test***/test_**.py ''' n = 1 while True: # 定位

2021-12-13 15:54:33 4251

原创 自动化测试之构造测试数据—faker

构造测试数据faker# -*- coding: utf-8 -*-# @Time : 2021/11/2 9:05# @File : faker用法.py# 随机数据faker库:利用Faker生成常用的测试数据# 导入类库from faker import Faker"""随机姓名"""# 初始化方法faker = Faker()# 如果想生成中文使用这个初始化就可以:faker = Faker(locale='zh_CN')# 调用faker.name()方法t_name=f

2021-11-02 16:50:38 279

原创 selenium常见问题笔记

selenium常见问题笔记################################################【selenium常见问题笔记】################################################### 导入库import timeimport allurefrom selenium import webdriverfrom selenium.webdriver.support.select import Selectfrom sele

2021-10-26 19:29:57 644

原创 pytest笔记(8)——日志

pytest笔记(8)——日志pytest框架——日志:导入库:import logging指定日志级别: logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',#时间、文件名、行、级别名称、级别方法后的信息 datefm

2021-08-17 09:43:35 704

原创 pytest笔记(7)——测试报告

pytest笔记(7)——测试报告pytest报告钩子函数一般是写入根目录下的conftest.py文件导入包from py.xml import htmlimport pytest#加入勾子标签@pytest.mark.optionalhookdef pytest_html_results_summary(prefix,summary,postfix): prefix.entend([html.p('测试人:小王')])抓取错误截屏使用hook函数1.在conftest.py

2021-08-17 09:42:17 303

原创 爬虫——小说(被加密的文字)

爬虫——小说(2)一、针对的爬虫类型及实现方法二、步骤拆分三、整体代码

2021-08-17 09:38:55 887

原创 pytest笔记(6)——DDT(终)

DDT-csv文件 导入类库 import csv 打开csv文件 #打开文件 file = open('D:\\test.csv','r') 读取csv文件 #定义一个列表 data = [] # 读文件 txt = csv.reader(file) #跳过首行 txt.__next__() #取出内容 fo

2021-08-16 11:28:59 238

原创 pytest笔记(5)——DDT技术(1)

测试框架DDT技术说明:常见的DDT技术: 数据结构: 列表 字典 json串 文件: txt csv excel 数据库: 数据库链接 数据库提取 参数化: @pytest.mark.parametrize() @pytest.fixture()列表: 定义 list=[1,2,3,4,

2021-08-16 11:27:52 482

原创 pytest笔记(4)——套件

测试框架的构成: 公共配置层: 测试套+测试脚本: DDT数据驱动层: 异常处理 测试报告 测试日志pytest命令行运行模式 1、pytest:运行所有的测试文件 2、pytest 文件路径:指定运行文件 3、pytest -k "关键字":运行含有关键字的脚本(文件名称) 4、pytest 文件名::类名::方法名:执行指定的方法 5、pytest标签模式: pytest -m 标签名:执行标签下的

2021-08-16 11:26:29 581

原创 pytest笔记(3)——业务脚本封装之参数传递

业务脚本之关联脚本参数传递——传递一个参数需要使用固件@pytest.fixture(),呗使用的方法不计入执行结果中class Test_001(): #设置固件用于把防范的返回值传递出来,此方法已经计入用例中 @pytest.fixture() def test_001(self): a = 10 return a def test_002(self,test_001): b = test_001 pri

2021-08-16 11:25:04 217

原创 pytest笔记(2)——业务级别脚本封装跳过指定方法

业务级别脚本封装之跳过方法一、使用的是@pytest.mark.skip()方法# 跳过方法@pytest.mark.skip()@pytest.mark.skip('跳过的方法')def test_001(): print('方法一')# 执行命令pytest -rs 文件可以打印出跳过的方法的原因初始化的方法用的是setup_class()代表只执行一次,结束用teardowm_class()也是只执行一次二、满足条件时跳过使用的方法是:使用@pytest.mark.sikpi

2021-08-16 11:23:56 203

原创 pytest学习笔记(1)——脚本封装

pytest学习笔记——脚本封装import jsonimport pytest一、setup初始化操作pytest -s 文件名称 :执行指定的文件并输出打印语句定义一个函数setup_method():内容就是初始化的部分,比如说登陆,下面每次执行其他的方法之前都会执行一下setup方法setup_method()方法的作用于在当前的类里面classclass Test_login(): def setup_method(self): self.url = 'htt

2021-08-16 11:22:15 277

原创 pytest框架学习——大纲

pytest框架学习——大纲import pytestpytest落地一、准备阶段 pip install pytest 命名规范 执行方式 pycharm右击执行 使用main函数 执行命令行 -s:打印信息 -v:更详细的信息 -m:执行标签 -x:遇到错误停止 --maxfail=2:错误超过两次就停止

2021-08-16 11:20:16 167

原创 python爬虫-小说(01)

python爬虫-小说(01)一、分析网址一般我们下载之前都需要看一下网页信息,进行分析实现的方式;通常来说是从最底层向外一步步实现;比如本次下载的小说是神道丹帝先打开单章,然后分析单章的下载,实现之后我们再分析实现自动获取章节信息下载,章节下载也实现了,那下一步就是自动获取小说进行整本下载;先打开单章,我们分析单章的下载如图,也就是说我们访问单章的url从响应里面就可以获取到我们需要的章节内容和章节标题;接下来我们分析实现批量章节下载,其实也就是说我们只需要把这些章节的url都获取到,循

2021-08-06 17:02:38 381

原创 python+selenium+yaml的自动化操作(基础01)

python+selenium+yaml的自动化操作(基础01)yaml可以存储各种数据:对象、数字、纯量:data:(这是对象)user:‘这是名字’paswword:‘密码’数组:- A纯量:int:-123# 导入库import yamlfrom selenium import webdriverimport time# 打开yaml文件file = open('data.yaml', encoding='utf-8')# 加载yaml中的数据b = yaml.loa

2021-08-06 14:00:23 701

原创 pytest-学习笔记-脚本封装

pytest-学习笔记-脚本封装=========================================》pytest脚本的封装小结《===========================================1、类封装准备工作: 封装脚本之前需要先跑通脚本 创建pytest文件:需要以'test_'开头 创建类: 需要:class Test_ 开头 一般而言一个测试对象一个类 创建方法: test_

2021-08-06 13:55:26 458

原创 python——视频爬虫:m3u8文件中.ts视频流的解密下载

python——视频爬虫:m3u8问价中.ts视频流的解密下载一、引用的库这里需要引用的库是:from Crypto.Cipher import AES有坑哈,python3.0之后直接安装crypto你会发现不管怎么着都会报错。经过查找资料找到了原因,原来是20年之后crypto已经被pycryptohome替换掉啦,如果之前安装过crypyo 活pycrypto需要先卸载pip uninstall crypyo pip uninstall pycrypyo 然后再安装pycryptoh

2021-08-06 13:45:07 5086 4

原创 python爬虫—视频爬虫2(m3u8)

python爬虫—视频爬虫2(m3u8)一、视频爬虫的分析今天我们爬的视频比上一期的要特殊一些,一些网站使用m3u8来进行视频的播放工作,特意去搜了一下m3u8与mp4相比的一些优势:1.HTML5 直接支持m3u8协议。2.m3u8其实是一个协议而不是一种视频格式,m3u8里面包括的多是视频块索引。可以通过网络状态自动切换码率。MP4就没有这方面优势了。3.m3u8允许客户在进行播放时,从许多不同的备用源中下载视频块。4.m3u8是HLS协议的部分内容。是一种能够通过http报文就能够请求和

2021-07-19 11:27:18 5295

原创 python爬虫-视频爬虫(1)

python爬虫-视频爬虫(1)一、视频爬虫介绍本篇文章主要是针对直接可以找到完整视频的链接(可能需要拼接成完整链接)进行下载的那一类视频爬虫二、视频爬虫步骤和所有的爬虫一样,首先熟悉你需要爬虫的网页,从中找到我们需要下载的视频的链接、或者可以拼接成视频的下载链接,最后才是把这个过程用python代码来实现自动化。三、爬虫代码的实现以【好看视频】网址为例和图片的爬虫不同,图片的链接都是可以在网页的源码中找到的,而视频需要你打开F12刷新网页查看接口请求,从接口的响应里面获取数据;让我们先打开

2021-07-15 17:52:52 7474 7

jmeter接口自动化规范模板

jmeter接口自动化规范模板

2023-01-28

空空如也

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

TA关注的人

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