自定义博客皮肤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)
  • 收藏
  • 关注

原创 接口测试06 -- pytest接口自动化封装&Loggin实战

比较固定的变量,不会随便修改的,称之为常量。比如:常用的服务IP、端口(环境变量)、公共参数等,数据链接信息、测试账号/密码等,统一放到一个专门的文件,定义为常量,方便维护修改。操作步骤1. 新建一个py文件,专门用来存放常量,一般常量的命名都是大写;2. 对应的文件导入这个模块,即可使用。如下,新建一个config.py文件放在项目根目录下:这里我把环境地址、测试账号/密码、请求的公共参数,全部进行参数化设置:# 配置常量的文件;

2024-02-12 21:02:09 994

原创 接口测试 05 -- python实现接口加密处理

1. 遇到接口加密的解决方法:① 如果是一些常用的加密,可以通过 (第三方)工具或者代码去解决。② 如果是开发自己封装的加密方法,核心逻辑外人是无法知道的,最好的方式让开发去协助你。提供接口去进行调用,然后进行加密/解密的操作③ 如果开发不肯提供接口,那么让开发协助你,把一些固定的数据给你手动进行加密一下。④ 如果你能够去解决核心代码,那自己用代码去进行实现(难度高)。因为在网络数据的传输过程中,不能绝对的保证数据安全,所以接口加密是为了数据的安全性、项目的安全性。

2024-02-11 12:22:36 867

原创 接口测试 04 -- Jsonpath断言、接口关联处理

思路web自动化、api接口自动化,本质上都是模拟用户操作,所以手工测试有哪些步骤、自动化同样也有哪些步骤。列表页面:商品列表、购物列表,任何列表都有增删改查,所以都会有对应的接口,接口关联依赖上一个接口的数据,一般都会有一个 (列表)唯一值 id。

2024-01-21 23:02:25 1084

原创 接口测试 03 -- 接口自动化思维 & Requests库应用

Requests库简介Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议 的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。官网介绍:https://cn.python-requests.org/zh_CN/latest/Requests也可用于爬虫JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于数据的序列化和传输。

2024-01-21 14:31:56 993

原创 接口测试 02 -- JMeter入门到实战

● JMeter是基于Java的开源工具,扩展性强,可自定义开发插件;● JMeter社区活跃,会定期更新、修改bug、优化功能;● JMeter学习成本低,提供了方便的图形界面来编辑和开发测试脚本,上手快;● JMeter可以和很多工具兼容,如Jenkins,方便测试自动化;● JMeter具有平台无关性,可以轻易在Windows、Linux和macOS上运行。1.2。

2024-01-20 21:43:41 1038 1

原创 接口测试 01 -- 基础与原理

接口测试分为两种手段:手工测试、自动化测试。接口测试是对系统或组件之间的接口进行测试,主要校验数据的交换、传递和控制管理过程,以及相互逻 辑依赖关系。而接口自动化测试是让程序代替人为对接口项目进行自动化验证测试的过程。------->>>● 功能测试:验证接口在不同输入条件下的功能行为,包括对请求的处理、数据处理和响应的验证。● 性能测试:评估接口的性能,包括响应时间、吞吐量、并发性等方面的测试。● 安全测试:检查接口的安全性,包括对输入参数的验证、数据加密、防止攻击和数据泄露等方面的测试。

2024-01-17 22:52:41 871 1

原创 pytest进阶 -- 结合Html / Allure生成测试报告

② 运⾏测试并⽣成报告:执行测试代码:main文件执行:终端输入如下使⽤ --html 选项指定报告⽂件的名称和路径。在上述示例中,报告将⽣成为 report.html ⽂件。hmtl样式合并(没什么实际意义,做个了解)上面的代码示例,执行后,在当前m8项目文件目录下生成了一个report文件夹 -> assets文件夹 -> style.css文件,这个文件是对html报告的样式做控制的,默认是样式与html文件是分离的style.css文件删除后,再打开html报告,就没有样式了,只显示

2024-01-16 23:40:41 1219

原创 pytest测试框架-- 基本功能使用详解

pytest是一个功能强大且易于使用的 Python 测试框架,用于编写单元测试、集成测试和功能测试。它提供了丰富的功能和灵活的用法,使得编写和运行测试变得简单而高效。❶简单易用pytest的语法非常简洁清晰,对于编写测试用例来说非常友好,几乎可以在几分钟内上手。❷自动发现测试pytest能够自动发现项目中的测试文件和测试函数,无需手动编写繁琐的配置。❸丰富的断言库pytest内置了丰富的断言库,可以轻松地进行测试结果的判断。❹支持参数化测试pytest。

2024-01-14 12:08:52 1209

原创 python进阶 -- 日志&装饰器详解

日志:记录程序运行的时候,出现的问题,或者说验证流程是否正常在实际工作中,python的脚本命令一般是放在服务器执行的linux系统日志其实就是记录程序运行时出现的问题、或者正常的打印,协助出现问题的时解决排查问题日志模块:会有日志的级别设置级别是自己设置的,可以通过自定义的级别去确定什么东西该被记录,什么东西部该被记录注意:设置日志级别的时候,单词全部需要大写● DEBUG:等级最高,包含debug、info、warning、error的4种全部日志。

2024-01-08 18:13:38 496

原创 python基础 10 -- 元组&集合

由不同的元素组成的一个数据结构;集合是无序排列的,集合内的元素不可重复,集合之间可以做运算标识符:{}关键字:setset = {2024,"holle python","小白"}print(set)set1 = {2024,"holle python","小白",2024,"holle python","小白"}

2024-01-06 16:44:21 363

原创 专业爬虫框架 _scrapy进阶使用详解

在Scrapy中,中间件是一种插件机制它允许你在发送请求和处理响应的过程中对Scrapy引擎的行为进行干预和定制。Scrapy中间件的用途:修改请求、处理响应、处理异常、设置代理、添加自定义的HTTP头部等等。Scrapy中间件主要分为以下几种类型:下载中间件(Download Middleware):下载中间件是用于处理Scrapy发送请求和接收响应的过程。它可以用于修改请求的头部、处理代理、处理重定向、处理异常、修改请求URL等。你可以通过编写下载中间件来实现自定义的下载逻辑。

2023-12-04 20:24:53 2176

原创 数据库之 redis

Redis(Remote Dictionary Server ,远程字典服务) 是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,是NoSQL数据库(非关系型)。redis的出现主要是为了替代早期的Memcache缓存系统的。map内存型(数据存放在内存中)的非关系型(nosql)key-value(键值存储)数据库。

2023-12-03 20:05:42 1060

原创 专业爬虫框架 -- scrapy初识及基本应用

Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy 是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。

2023-12-02 13:05:44 1187

原创 web自动化 -- pyppeteer

由于Selenium具有这些严重的缺点。pyperteer成为了爬虫界的又一新星。相比于selenium具有以下特点:异步加载速度快具备有界面/无界面模式伪装性更强不易被识别为机器人同时可以伪装手机平板等终端虽然支持的浏览器比较单一,但在安装配置的便利性和运行效率方面都要远胜selenium。pyppeteer无疑为防爬墙撕开了一道大口子,针对selenium的淘宝、美团、文书网等网站,目前可通过该库使用selenium的思路继续突破,毫不费劲。

2023-11-30 23:10:36 1470

原创 web自动化 -- selenium及应用

随着互联网的发展,前端技术不断变化,数据加载方式也不再是通过服务端渲染。现在许多网站使用接口或JSON数据通过JavaScript进行渲染。因此,使用requests来爬取内容已经不再适用,因为它只能获取服务器端网页的源码,而不是浏览器渲染后的页面内容。大多数情况下,数据是通过Ajax接口获取的。为了解决这个问题,我们可以使用Puppeteer、Pyppeteer、Selenium和Splash等自动化框架来获取HTML源码。

2023-11-28 17:43:21 952

原创 爬虫并发及应用

HLSHLS(HTTP Live Streaming)是一种流媒体传输协议,最初由苹果公司开发并推出。它是一种基于HTTP的流媒体传输协议,旨在提供高质量的实时流媒体传输和适应不同网络条件的能力。HLS技术主要用于在互联网上实时传输音频和视频内容,通常用于直播活动、视频点播等场景。媒体分片(Media Segmentation):源视频或音频内容首先被分割成短小的媒体分片,通常每个分片持续几秒到十几秒不等。自适应码率(Adaptive Bitrate)

2023-11-26 18:31:02 1067

原创 数据库之 mongo 基础

Redis(Remote Dictionary Server ,远程字典服务) 是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,是NoSQL数据库(非关系型)。redis的出现主要是为了替代早期的Memcache缓存系统的。map内存型(数据存放在内存中)的非关系型(nosql)key-value(键值存储)数据库。支持数据的持久化(基于RDB和AOF,注: 数据持久化时将数据存放到文件中,每次启动redis之后会先将文件中数据加载到内存。

2023-11-20 21:11:51 29

原创 python -- pymysql模块

第一次链接MySQL需要点击Download下载安装 Driver Files,如下截图会显示安装进度,等待安装完成(如已下载过Driver Files,则跳过进行第三步)专业版的最左边,左上角依次点击:Database -> +号 -> Database Source中找到MySQL。输入链接名+账号+密码+库名 -> 点击链接测试,提示成功后,点击ok就可以了。在python中,提供专门的第三方库来连接mysql:pymysql模块。链接成功后,需要针对哪个库进行操作,就选中哪个库。

2023-11-18 21:12:43 41

原创 数据库之 mysql

- 新建:CREATE FUNCTION function_name (参数列表) RETURNS 返回值类型--函数体- 函数名,应该合法的标识符,并且不应该与已有的关键字冲突。- 一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。- 参数部分,由"参数名"和"参数类型"组成。多个参数用逗号隔开。- 函数体由多条可用的mysql语句,流程控制,变量声明等语句构成。

2023-11-17 21:05:16 49

原创 python进阶 02 -- 面向对象(豁然开朗版)

面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性。面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程。(Object-oriented Programming,简称 OOP),。其实,在前面章节的学习中,我们已经接触了封装,比如说:将数据放进列表和字典中中,这就是一种简单的封装,是数据层面的封装;把常用的代码块打包成一个函数,这也是一种封装,是语句层面的封装。

2023-11-16 07:01:34 40

原创 初识爬虫并发

学习并发,需要弄清楚以下5个问题:1. 并发与并行2. IO密集型任务和计算密集型任务3. 同步与异步4. IO模型(IO多路复用)5. 内核态多线程,用户态多线程所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。。

2023-11-11 07:29:41 33

原创 python基础10 -- 变量的作用域

在第一篇文章中,简单介绍过变量,随着学习的深入,我们知道列表、字典、都有嵌套,再到流程控制语句的嵌套,其实函数也会有嵌套。那么,嵌套域变量有什么关系呢?下面一步步来学习~

2023-11-08 06:43:16 48

原创 requests实战 -- 爬取17k免费小说

网站特色:动态cookie需要先注册:13585687903,135903yc网站分为免费小说和vip小说,vip小说只能开头vip才能爬取需要先将免费小说加入书架,然后进行爬取:步骤: 模拟登陆爬取数据 -> 爬取章节 -> 爬取每本小说的完整内容。

2023-11-05 19:16:08 226 1

原创 爬虫必备 -- 代理IP

当我们编写爬虫程序去访问网站时,对方网站会设置一些反反爬虫措施。例如:检查IP访问频率、检查Header参数、检查代理IP等。使用代理IP是反反爬虫的一种常用方式,但是即使使用代理IP,对方服务器任然会有很多的方式来检测我们是否是一个爬虫。因此,在使用代理IP时,最好使用随机的方式进行选择,不要每次都使用同一个代理IP,以避免被对方网站识别出来并屏蔽。

2023-11-05 07:34:29 83

原创 python基础 09 -- 文件读写模式

文本文件可存储的数据量多得难以置信:交通数据、社会经济数据、文学作品等等。每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其如此。

2023-11-05 06:37:17 48

原创 python基础1 -- 包与模块

包相当于一个文件夹,里面包含多个py文件,它可以帮我们更好地组织和管理代码。一个包里面通常会包含一个特殊的文件(new Python Package,new Directory时不会有init文件),用于标识该目录为一个包。通过将相关的模块放在一个包中,可以更好地组织代码结构,避免命名冲突,并提供更好的代码可读性。在上面的案例1中,由于导包的目录层级不一致,无法导入但是,如果我就想在目录层级不同的情况下去导入,该怎么办呢?

2023-11-04 21:07:27 39

原创 爬虫核心模块 -- reqeusts

requests 作为一个专门为人类编写的 HTTP 请求库,其易用性很强,因此在推出之后就迅速成为 Pthon 中首选的 HTTP请求库。requests 库的最大特点是提供了简单易用的 API,让编程人员可以轻松地提高效率。由于 requests 不是 Python 的标准库,因此在使用之前需要进行安装:s(注意要加s,不然也会下载,但是啥也不是)通过 requests 可以完成各种类型的 HTT 请求,包括 HTTP、HTTPS、HTTP1.0、HTTP1.1 及各种请求方法。

2023-11-04 16:49:12 1325 1

原创 网页解析 -- xpath

xpath在Python的爬虫学习中,起着的地位。对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但xpath明显比re具有优势,在网页分析上使re退居二线。xpath 全称为**XML Path Language** 一种小型的**查询语言**

2023-11-01 07:13:09 179 1

原创 网页数据解析 -- BS4

简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。即针对的是html树形结构文件,可以发挥最大作用。官方解释如下:Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

2023-10-30 21:51:21 91 1

原创 网页数据提取 -- 正则表达式

Regular Expression,译作正则表达式或正规表示法,表示有规则的表达式,意思是说,描述一段文本排列规则的表达式。正则表达式并不是Python的一部分。而是一套独立于编程语言,用于处理复杂文本信息的强大的高级文本操作工具。正则表达式拥有自己独特的规则语法以及一个独立的正则处理引擎,我们根据正则语法编写好规则(模式)以后,引擎不仅能够根据规则进行模糊文本查找,还可以进行模糊分割,替换等复杂的文本操作,能让开发者随心所欲地处理文本信息。

2023-10-29 14:22:11 291

原创 前端基础 -- JavaScript基本运用

​JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。​将某种编程语言支持的数据类型对象,做一个格式化字符串,从而进行磁盘存储或者网络传输。反序列化将能够进行存储或者网络传输的某种格式化字符串转换成编程语言能够识别的数据类型。

2023-10-28 17:56:02 120

原创 前端基础 -- CSS

简单来说:CSS就是● 全称为Cascading Style Sheets,中文翻译为"层叠样式表"或者是“级联样式表”● css是一种描述HTML文档样式的语言● css描述应该如何显示HTML元素● CSS不需要编译,可以直接由浏览器执行(属于浏览器解释型语言),是Web网页开发技术的重要组成部分。

2023-10-24 18:32:53 71

原创 前端基础 -- html知识汇总

HTML,即超文本标记语言(HyperText Markup Language ]),由SGML (标准通用标记语言) 发展而来,也叫web页面。扩展名是 .html 或是 .htm。* HTML,是一种用来制作网页的标准标记语言。超文本,指的就是超出普通文本范畴的文档,可以包含文本、图片、视频、音频、链接等元素。* HTML 不是一种编程语言,而是一种写给网页浏览器、具有描述性的标记语言。简单说:html是超文本标签语言,程序运行之后负责内容显示、负责网页上有什么显示什么。

2023-10-22 20:01:07 123 1

原创 初识前端web框架 -- Falsk

当我们用浏览器访问京东/百度那样,点击不同页面按钮(浏览器带着不同的域名、路径,向服务器发送不同请求信息)展示返回不同内容(获得不同的响应)运行 socket代码,并打开浏览器进行访问,同时在url中添加一个index路径(代码中并没有index);可以看出浏览器接收的,仍是一句问候语+一张图片:上面示例,我们在本地socket了一个简单的服务端,通过浏览器访问获取服务端的内容。but,浏览器访问时无论浏览器带着什么路径/参数,强势返回的内容都是一样,因为我们做。

2023-10-22 10:51:50 44 1

原创 网络基本概念初识

http协议是超文本传输控制协议。是一种按照URL指示,将超文本文档从一台主机(web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

2023-10-21 20:56:03 40 1

原创 爬虫概念介绍

一段代码,能够自动从互联网上收集需要的东西(图片、视频、音频等)源于互联网的两个特性:♣ 信息可获取(能够通过打开一个浏览器可以看到的信息;法律允许的范围内)♣ 信息具有关联性(从一个网页调到另一个网页)

2023-10-21 10:11:26 639 1

原创 pycharm快捷键(Windows版)大全

模版

2023-10-21 09:54:20 76 1

原创 python基础 08 -- 函数(fun)

使用def关键字定义一个函数,定义函数不会执行定义的代码,需要调用才会执行;函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。#定义一个简单的函数:def greet_user(): #函数声明;

2023-10-21 09:37:22 1610 1

原创 ADB环境搭建及常用命令

adb shell monkey -p 包名 --throttle 300 --monitor-native-crashes -v -v 10000 > 电脑端地址+文件名。查看模拟器MAC地址 ===== adb shell cat /sys/class/net/wlan0/address。3. 右键我的电脑->属性->高级系统设置->环境变量->编辑系统变量的path->添加adb文件夹的路径。查看模拟器IP地址 ======= adb shell ifconfig wlan0。

2023-10-21 06:23:33 177 1

原创 python基础07 -- 字典(dict)

遍历字典时,会默认遍历所有的键,因此,如果将上述代码中的for name in favorite_languages.keys(): 替换为for name in favorite_languages: ,输出将不变。items():将字典中所有的键值取出,放在一个列表中,其中每一对键值处理为元组形式,一般用于循环语句中。将上面的学生信息列表,改为字典形式储存,里面包含3个字典,对应3个学生的名字和年龄。get():查询某个字典键的值,需指定键的名称,如果键不存在,则返回None。

2023-10-20 10:00:22 105 1

空空如也

空空如也

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

TA关注的人

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