自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shifengboy的博客

纸上得来终觉浅,绝知此事要躬行!

  • 博客(185)
  • 资源 (1)
  • 收藏
  • 关注

原创 UIAutomator测试框架介绍

uiautomator简介UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:1. 测试脚本只能使用Java语言 2. 测试脚本要打包成jar或者apk包上传到设备上才能运行uiautomator2是对uiauto...

2022-12-09 17:24:00 1307

原创 Python 操作Excel-openpyxl模块使用

openpyxl 的用法实例1.1 Openpyxl 库的安装使用openpyxl 模块是一个读写 Excel 2010 文档的 Python 库,如果要处理更早格式的 Excel 文 档,需要用到额外的库,openpyxl 是一个比较综合的工具,能够同时读取和修改 Excel 文档。 其他很多的与 Excel 相关的项目基本只支持读或者写 Excel 一种功能。新建、读取、保存工 作簿。...

2022-10-18 22:51:00 5424

原创 Python-数据的多种存储形式

1 JSON 文件存储JSON,全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。本节中,我们就来了解如何利用 Python 保存数据到 JSON 文件。1. 对象和数组在 JavaScript 语言中,一切都是对象。因此,任何支持的类型都可以通...

2022-10-18 15:08:00 2563

原创 PyQuery详解

为什么选择PyQuery?Python爬虫解析库,主流的有PyQueryBeautifulsoupScrapy Selectors正则表达式。PyQuery和scrapy Selectors都是基于lxml模块,而lxml和正则表达式都是C语言写的,只有Beautifulsoup是用纯Python编写的,所以在实测中,Beautifulsoup 的解析速度比其他几种慢了5倍以上!...

2022-10-18 11:30:00 709

原创 爬虫的基本原理

一、爬虫的基本原理网络爬虫的价值其实就是数据的价值,在互联网社会中,数据是无价之宝,一切皆为数据,谁拥有了大量有用的数据,谁就拥有了决策的主动权。爬虫聚合站点https://qbt4.mobduos.com/promote/pc/?code=339115928&utm=339115928http://www.hrdatayun.comhttps://tophub.today/c...

2022-10-14 20:41:00 8282 2

原创 python3 http.server模块 搭建简易 http 服务器

在命令行直接运行:python -m http.server 80或 python3 -m http.server 80会看到如下输出:Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...在浏览器访问会展示运行命令所在目录下的文件通过代码搭建from http.server import HTTPServer, BaseH...

2022-10-13 14:19:00 681

原创 Python爬虫-scrapyd框架部署

爬虫项目部署1 脚本文件部署linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。1.1 crontab的使用crontab [-u username]    //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作)我们用...

2022-10-11 20:05:00 332

原创 Python爬虫-Scrapy-Redis分布式

Scrapy-Redis 分布式1 分布式概述1.0 scrapy-redis是什么之前我们已经学习了Scrapy,它是一个通用的爬虫框架,能够耗费很少的时间就能够写出爬虫代码Scrapy-redis是scrapy的一个组件,它使用了Redis数据库做为基础,目的为了更方便地让Scrapy实现分布式爬取Scrapy能做的事情很多,但是要做到大规模的分布式应用则捉襟见肘。有能人改变了Sc...

2022-10-09 21:17:00 1193

原创 “Navicat Premium”已损坏,无法打开, 您应该将它移到废纸篓的解决办法

在打开软件的时候遇到这种情况下按以下操作1)首先在设置中找安全与隐私然后在通用里面找到下面 的图片如果没有设置任何来源,那把小锁打开,添加一下任何来源。在尝试安装2.如果还不行,在终端粘贴复制输入命令:sudo xattr -r -d com.apple.quarantine输入玩这个命令后在敲一个空格,先不要回车。先看第三步3.打开 “访达”(Finder)进入 “应用程序” 目...

2022-10-09 20:41:00 5558 1

原创 Python 爬虫-feapder 框架简介

feapder 框架学习目标掌握便捷式框架操作流程掌握请求钩子结构使用掌握框架项目搭建流程掌握数据入库与去重1 简介国内文档:https://boris-code.gitee.io/feapderfeapder 是一款上手简单,功能强大的Python爬虫框架,使用方式类似scrapy,方便由scrapy框架切换过来,框架内置3种爬虫:1.1 支持的场景...

2022-10-07 20:21:00 3825

原创 scrapy解析与数据库

Scrapy功能学习1 scrapy数据提取Scrapy 还提供了自己的数据提取方法,即 Selector(选择器)。Selector 是基于 lxml 来构建的,支持 XPath 选择器、CSS 选择器以及正则表达式,功能全面,解析速度和准确度非常高1.1. 直接使用Selector 是一个可以独立使用的模块。我们可以直接利用Selector这个类来构建一个选择器对象,然后调用它的相关...

2022-09-16 18:11:00 468

原创 Python BeautifulSoup简介

1.BeautifulSoup简介BeautifulSoup是一个可以从HTML或XML文件中提取数据的python库;它能够通过转换器实现惯用的文档导航、查找、修改文档的方式。BeautifulSoup是一个基于re开发的解析库,可以提供一些强大的解析功能;使用BeautifulSoup能够提高提取数据的效率与爬虫开发效率。2.BeautifulSoup总览构建文档树Beautifu...

2022-09-15 20:11:00 863

原创 爬虫技术-Scrapy框架介绍

Scrapy采集框架1 学习目标1、框架流程和结构设计原理2、框架爬虫程序编写3、框架日志模块使用4、框架请求发送流程2 scrapy简介​ Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。2.0 单个爬虫编写class Spid...

2022-09-14 21:52:00 651

原创 爬虫技术-滑块验证码

滑块验证码1. 滑块简介注:重点是识别滑块缺口,测出需要拖动的距离1.1 核心步骤从服务器随机取一张图片,并对图片上的随机x,y坐标和宽高一块区域抠图;根据步骤一的坐标和宽高,使用二维数组保存原图上抠图区域的像素点坐标;根据步骤二的坐标点,对原图的抠图区域的颜色进行处理。完成以上步骤之后得到两张图(扣下来的方块图,带有抠图区域阴影的原图),将这两张图和抠图区域的y...

2022-09-09 17:55:00 3959 2

原创 爬虫技术-验证码处理

验证码反爬虫1. 简介​ 我们在浏览网站的时候经常会遇到各种各样的验证码,在多数情况下这些验证码会出现在登录账号的时候,也可能会出现在访问页面的过程中,严格来说,这些行为都算验证码反爬虫。样例:https://my.cnki.net/Register/CommonRegister.aspx?returnUrl=https://www.cnki.net1.1 验证码得作用它有什么用呢?...

2022-09-09 08:51:00 807

原创 爬虫技术-字体反爬

文本混淆章节1. 文本混淆简介简单而言就是利用前端技术干扰,页面可以正常展示,而使用爬虫下载后无法提取正常的数据。1.1 常见的干扰方式字体反爬2. 字体反爬2.1 字体反爬简介​ 在 CSS3 之前,Web 开发者必须使用用户计算机上已有的字体。目前的技术开发者可以使用@font-face为网页指定字体,开发者可将心仪的字体文件放在 Web 服务器上,并在 CSS 样式中...

2022-09-07 15:37:00 1612

原创 爬虫技术-cookie反爬讲解

COOkIE反爬虫1 cookie反爬简介Cookie 反爬虫指的是服务器端通过校验请求头中的 Cookie 值来区分正常用户和爬虫程序的手段,这种手段被广泛应用在 Web 应用中。1.1 cookie加密原理2 cookie逆向实践2.1 逆向目标地址:http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc接口:http:...

2022-09-04 17:24:00 2966 2

原创 JavaScript反爬之哈希算法

载要哈希算法是 JavaScript 中和 Python 中的基本实现方法,遇到 JS 加密的时候可以快速还原加密过程,有的网站在加密的过程中可能还经过了其他处理,但是大致的方法是一样的。消息摘要算法/签名算法:MD5、SHA、HMAC1. MD5简介:全称 MD5 消息摘要算法,又称哈希算法、散列算法,由美国密码学家罗纳德·李维斯特设计,于 1992 年作为 RFC 1321 被公布,...

2022-08-17 15:56:00 410

原创 Python 协程 asyncio 极简入门与爬虫实战

在了解了 Python 并发编程的多线程和多进程之后,我们来了解一下基于 asyncio 的异步IO编程--协程协程简介协程(Coroutine)又称微线程、纤程,协程不是进程或线程,其执行过程类似于 Python 函数调用,Python 的 asyncio 模块实现的异步IO编程框架中,协程是对使用 async 关键字定义的异步函数的调用;一个进程包含多个线程,类似于一个人体组织有多种细...

2022-08-05 20:23:00 230

原创 Python协程-gevent

geventgreenlet已经实现了协程,但是这个需要人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。...

2022-08-05 15:35:00 767

原创 Python协程-greenlet

greenletGreenlet是python的一个C扩展,提供可自行调度的协程当一个greenlet遇到IO操作,如访问网络、文件操作时,就自动切换到其他greenlet,等IO操作完成,再在适当的时间切换回来继续执行为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的更加简单安装方式使用如下命令安装greenlet模块:pip3 ins...

2022-08-05 15:08:00 188

原创 Python协程-yield

协程协程,又称微线程,纤程。英文名Coroutine。协程是啥协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。通俗的理解:在一个线程中的某个函数,可以在任何地方...

2022-08-05 14:56:00 69

原创 python 元类

在python中统一了类与类型的概念:class Foo: def find(self): print("我是定对象的方法")print(Foo) # <class '__main__.Foo'>obj = Foo()print(obj) # <__main__.Foo object at 0x000001F911CE4940>o...

2022-08-02 11:29:00 78

原创 python 单例模式

什么是单例模式:单例模式即一个类有且仅有一个实例单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配...

2022-07-31 20:52:00 57

原创 python枚举

1.什么是枚举在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值。枚举的特点枚举的特点:枚举类中不能存在相同的标签名枚举是可迭代的不同的枚举标签可以对应相同的值,但它们都会被视为该值对应第一个标签的别名如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】枚举成员之间...

2022-07-18 16:38:00 1185

原创 python魔法方法

在学习面向对象的时候,我们知道在 python 中有一类特殊的方法,叫做魔法方法,这种方法的特点如下: 1. 方法定义的时候以两个下划线开头和两个下划线结尾:如__init__、str__和__repr 2. 这类方法一般不需要我们手动调用,在满足某个条件的时候会自动调用,这个满足的条件我们可以成为调用时机str()方法这个类方法(str())主要的作用是在print(实例)的时候返回你指定...

2022-07-07 21:01:00 112

原创 python反射

什么是反射发射就是通过字符串的形式导入模块,通过字符串的形式去模块中寻找指定的函数并执行4个内置函数getattr(strObject, attr [,default])返回指定字符串strObject的属性或方法'attr',如果有属性则返回该属性的值,如果有方法则返回该方法的内存地址,如果都没有报错。如果指定了默认值且都没有,则返回该默认值。hasattr(strObject,...

2022-07-07 19:35:00 51

原创 软件评测师:数据库知识

一、三级模式结构模型:对现实世界特征的模拟和抽象数据模型:对现实世界数据特征的抽象数据模型的三要素:数据结构:数据对象存储、组织的集合数据操作:对数据对象操作的集合数据的约束条件:数据对象完整性规则性的集合外模式:也称子模式或用户模式,是模式的子集,是数据的局部逻辑结构和特征的描述可以理解为视图概念模式:也称为模式、逻辑模式, 是数据库中全体数据的全局逻辑结构和...

2021-08-08 22:22:00 244

原创 软件评测师:操作系统知识

操作系统的作用作用 :一、通过资源管理,提高计算机系统的效率二、改善人机界面,向用户提供友好的工作环境进程的概念进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一 个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成进程与程序的区别:1、进程是程序的一次执行过程,没有程序就没有进程2、程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它...

2021-08-02 23:30:00 334

原创 软件评测师:计算机系统构成及硬件基础知识

一、数制转换R进制转十进制R进制转十进制使用按权展开法,计算方式为: 将R进制的每一位数值用\(R^k\)形式表示,即幂的底数是R,指数为K,K与该位 和小数点之间的距离有关当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位 于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1例如:二进制 10100.01 = 1*\(2^4\) + 1*\(2^2\) +...

2021-07-31 16:18:00 429

原创 性能调优命令之jstat

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。jstat工具特别强大,有众多的可...

2021-06-06 23:58:00 77

原创 性能调优命令之jstack

jstack是java虚拟机自带的一种线程堆栈跟踪工具。/opt/java8/bin/jstackUsage: jstack [-l] <pid> (to connect to running process) #连接活动线程 jstack -F [-m] [-l] <pid> (to connect to a h...

2021-06-06 22:40:00 538

原创 性能调优命令之jmap

jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。option:no option: 查看进程的内存映像信息,类似 Solaris pmap 命令。heap: 显示Java堆详细信息histo[:live]: 显示堆中对象的统计信息clstats:打印类加载...

2021-06-06 21:29:00 150

原创 Linux性能调优命令之free

功能说明free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略语法free [参数]参数-b : 以Byte为单位显示内存使用情况。-k :  以KB为单位显示内存使用情况。-m :  以MB为单位显示内存使用情况。-h: 以适于人类可读方式显示内存信息。-h与其他命令最大不同是-h选项会在数字后面加上适于人类可读的单...

2021-05-22 02:02:00 260

原创 Selenium 模拟键盘操作

一、导入键盘事件1.导入语句想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等。from selenium.webdriver.common.keys import Keys2.键盘事件下面是一些常用的键盘事件:Keys.BACK_SPACE ...

2021-05-12 22:22:00 8482 1

原创 Jenkins踩坑记录:环境变量PATH没有/usr/local/bin

好久没用Jenkins就,今天写了个接口和UI自动化测试框架,想在Jenkins上运行下,在运行安装依赖插件时出现了一个错误pip3.9: command not found,what?我没装pip?不可能呀,第一反应是在命令行运行下没问题呀,我本机安装了pip了呀,顿时觉得事情没有那么简单根据我多年经验,我当时反应就是查看pip的环境变量chenshiengdeMBP:~ chenshi...

2021-05-05 22:15:00 5359 2

原创 HttpRunner V3.x 从入门到精通

一、介绍HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。官方文档:https://docs.httprunner.org/二、框架设计理念充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车遵循 约定大于配置 的准则,在框架功能中融入自动化测试...

2021-05-05 01:19:00 3258 6

原创 Jmeter之事务控制器

性能测试的结果统计时我们一定会关注TPS,TPS代表的是每秒事务数,每个事务对应的是我们的请求。虽然JMeter能够帮我们把每个请求统计成一个事务,但有时候我们希望把多个操作统计成一个事务,JMeter也考虑到了这种需求,我们可以用个逻辑控制器中的事务控制器来完成。一、添加事务控制器二、事务控制器参数说明Generate parent sample:如果事务控制器下有多个取样器,勾选它...

2021-04-26 22:47:00 2633 1

原创 Jmeter之集合点

JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,拿那个用户和密码的地方,每到输入用户名和密码登录的地方,所有的虚...

2021-04-25 23:15:00 441

原创 Jmeter之定时器

1. 固定定时器(Constant Timer)如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler(采样器)的响应时间,但会计入事务控制器的时间。对于“java请求”这个sampler来说,定时器相当于loadrunner中的pacing(两次迭代之间的间隔时间);对于“事务控制器”来说,定时器相当于load...

2021-04-25 23:01:00 102

Python UI自动化测试框架-支持PC端和手机端

UI自动化测试框架 功能: 1、采用数据驱动的方式,所有定位元素数据存放在一份ymal文件中,方便后续维护 2、采用PO思想,每个页面为一个类,页面中每个功能为一个方法,页面之间支持跳转 3、编写用例时无需考虑具体实现细节,直接调用即可 4、用例支持失败重跑,可设置重跑次数,避免环境不稳定造成的失败 5、增加辅助函数功能,提供一些公共函数,脚本运行中可以直接调用,避免一些输入唯一性的校验 6、页面元素定位不找支持跳过,主要针对一些非必填选择输入框,没有数据时不报错,不阻碍流程 7、提供异常处理功能,对于一些页面可能出现的弹框等异常做处理

2021-11-18

空空如也

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

TA关注的人

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