- 博客(217)
- 资源 (3)
- 收藏
- 关注

原创 目录导航《100天软件测试升级打怪路》
[《100天软件测试升级路》专栏](https://blog.csdn.net/gregcsdn/category_12321586.html?spm=1001.2014.3001.5482),是由CSDN内容合伙人|软件测试领域优秀创作者的硬核博主 [老板来片烤面包](https://blog.csdn.net/gregcsdn) 倾力打造,分软件基础及艺术入门、软件测试工具篇、实战篇、web自动化篇等。
2023-06-30 10:37:14
589
原创 Day97 unittestreport-自动化测试报告生成
对于自动化测试来说,如何能把测试结果更直观更有效的展示出来一直是测试人员的一块心病。目前主流的有很多生成测试报告的第三方库,例如,Allure,等等。不过这些库使用起来各有利弊,总之没有一个库能既满足实用又满足美观。最近看到一个unittest框架配套的测试报告生成插件,可以做到与unittest框架无缝衔接,并且支持多种格式的自动化测试报告。
2024-06-17 22:49:27
460
原创 Day96 appium的使用
当然,不同类型的框架,难易程度也是不同的,实现一个web框架的所需要知识更多,实现一个机器学习框架就更难了,自动化测试框架是站在一堆人的肩膀上来实现,难度系数要低很多。这个时候你就可以考虑去做一些封装,然后把那些常用的功能封装成了一堆公共方法,在你的项目代码中调用,这样可以更快速的完成开发任务,并且便于应对需求的变化。如果不小心关闭了,或者没有自动打开上边的界面,点击安装目录下的SDK Mansger.exe文件,同样可以打开,已经自动打开的忽略此步。下载完成后,你的sdk文件夹下,应该是这样的。
2024-06-17 22:38:41
299
原创 Day95 scrapy详解
定义一个管道类重写管道类的process_item方法process_item方法处理完item之后必须返回给引擎# 爬虫文件中提取数据的方法每yield一次item,就会运行一次# 该方法为固定名称函数创建项目scrapy startproject 项目名明确目标在items.py文件中进行建模创建爬虫3.1 创建爬虫scrapy genspider 爬虫名 允许的域3.2 完成爬虫修改start_urls检查修改allowed_domains。
2024-06-17 20:17:38
115
原创 Day94 mongodb详解
了解 非关系型数据库的优势了解 mongodb的安装mongodb 是一个功能最丰富的NoSQL非关系数据库。由 C++ 语言编写。mongodb 本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client。mongo shell 是一个js的执行环境使用$where 写一个函数, 返回满足条件的数据查询年龄大于30的学生})
2024-06-17 20:01:36
108
原创 Day93 selenium爬虫
了解 selenium的工作原理了解 selenium以及chromedriver的安装掌握 标签对象click点击以及send_keys输入。
2024-06-17 19:55:20
126
原创 Day92 数据提取
了解 响应内容的分类了解 xml和html的区别可以目标信息存在于em标签下a标签内的文本和href属性中。可直接利用requests库构造请求,并用BeautifulSoup或者lxml进行解析。
2024-06-17 19:51:02
96
原创 Day90 http协议复习
我们在学习web知识的时候就已经学过了状态码的相关知识,我们知道这是服务器给我的相关反馈,我们在学习的时候就被教育说应该将真实情况反馈给客户端,但是在爬虫中,可能该站点的开发人员或者运维人员为了阻止数据被爬虫轻易获取,可能在状态码上做手脚,也就是说返回的状态码并不一定就是真实情况,比如:服务器已经识别出你是爬虫,但是为了让你疏忽大意,所以照样返回状态码200,但是响应体重并没有数据。但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应(该响应的内容可以是html,css,js,图片等)
2024-06-14 11:13:53
69
原创 Day88 Flask介绍
如果遇到需要匹配提取中的手机号数据,Flask内置的转换器就无法满足需求,此时需要自定义转换器。自定义转换器主要做3步创建转换器类,保存匹配时的正则表达式"""手机号格式"""注意regex名字固定将自定义的转换器告知Flask应用# 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: mobile在使用转换器的地方定义使用可以返回一个元组,这样的元组必须是的形式,且至少包含一个元素。status 值会覆盖状态代码, headers 可以是一个列表或字典,作为额外的消息标头值。
2024-06-14 10:56:05
89
原创 Day86 Python自动操作 GUI 神器——PyAutoGUI
Day80 Python自动操作 GUI 神器--PyAutoGUl鼠标移动鼠标拖动鼠标滚动屏幕处理获取屏幕截图键盘输入键盘函数特殊符号快捷键信息框
2024-06-04 12:02:45
111
原创 Day85 jenkies
随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题。尤其是近年来敏捷开发在软件领域越来越火,如何能在不间断变化的需求中快速适应和保证软件的质量显得尤其重要。持续集成正是针对这一问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能更快的开发内聚的软件。
2024-01-26 15:17:44
163
原创 Day84 nginx详解
Nginx是一款开源的、高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器。nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理服务器进行负载均衡的实现。Nginx的官方网站为:Nginx的官方下载网站为http://nginx.org/en/download.htmlNginx是⼀一个开源且⾼高性能、可靠的HTTP中间件、代理理服务。开源: 直接获取源代码高性能: 支持海海量量并发连接限制 没有 请求限制有效?
2024-01-26 15:15:54
176
原创 Day83 uwsgi入门及详解
WSGI(Web Server Gateway Interface),定义了web服务器(nginx、apache、iis等)和 web应用(或者将web框架,flask、django等)之间的接口规范。也就是说,只要 web服务器和 web应用都遵守WSGI协议,那么 web服务器和 web应用就可以随意的组合。uwsgi的启动可以把参数加载命令行中,也可以是配置文件 .ini, .xml, .yaml 配置文件中,个人用的比较多得是 .ini 文件。通过。
2024-01-26 15:14:11
167
原创 Day82 Docker详解
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。更加详细地来说,请您假定您在开发一个应用。您使用的是一台笔记本电脑,而且您的开发环境具有特定的配置。其他开发人员身处的环境配置可能稍有不同。您正在开发的应用依赖于您当前的配置,还要依赖于某些特定文件。与此同时,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。
2024-01-26 15:13:04
152
原创 Day81 Flask框架学习
2018 Python官方年度调研报告显示Flask与Django为Python Web开发使用最主要的两个框架。如果遇到需要匹配提取中的手机号数据,Flask内置的转换器就无法满足需求,此时需要自定义转换器。自定义转换器主要做3步创建转换器类,保存匹配时的正则表达式"""手机号格式"""注意regex名字固定将自定义的转换器告知Flask应用# 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: mobile在使用转换器的地方定义使用可以返回一个元组,这样的元组必须是。
2024-01-26 15:09:19
97
原创 Day80 django实践——基于Django2.1.1和python3.6Django的博客系统开发
这是我们能看得见的过程,还有一些我们看不见的过程,那就是:当我们在浏览器里输入网址(URL)时,回车,然后浏览器就会向目标网址发送一个HTTP请求,服务器收到请求之后就会给这个请求做出一个响应,这个响应就是把对应的内容通过浏览器渲染出来,呈现给我们看。URL就是这么构造的,我们的域名www.django.cn不需要写,完整的URL应该要这么写:path(正则表达式, views视图函数,参数,别名), 里面的正则表达式, views视图函数,是必须要写的,而参数,别名是可选的。我们在有特殊需要的时候才写。
2024-01-26 15:06:06
91
原创 Day79 多线程、多进程、Tkinter、pynput、pyAutoGUI、打包——阶段性总结
pynput,是专门针对鼠标和键盘的,至于pygame、pyglet等游戏框架虽然也提供了鼠标、键盘的监控事件,但它们毕竟是用来开发游戏的,还提供了创建窗口、图形绘制、物体的碰撞检测等等很多复杂的功能。如果只是单纯的操作鼠标和键盘,使用这种游戏框架有点小题大做了,下面我们就来看看这个名叫pynput的模块吧,看看它的使用方法。Tkinter 是使用 python 进行窗口视窗设计的模块。1个进程可以拥有多个线程,进程间不共享全局变量。so:我们写的时候,需要共享全局变量会用多线程。进程=火车,线程=车厢。
2024-01-05 17:09:08
597
2
原创 Day78 Python生成个人主页——pelican
文档时,发现一个很有意思的章节:https://facelessuser.github.io/pymdown-extensions/extensions/superfences/#code-highlighting;还好我们还有众多的第三方扩展供我们使用:https://github.com/Python-Markdown/markdown/wiki/Third-Party-Extensions。文档的内容很丰富,我们就不再这里一一解释了,有兴趣的同学可以自己去看一看,说不定有什么意外的收获呢!
2024-01-05 17:08:08
909
原创 Day78 Python生成个人主页——pelican
文档时,发现一个很有意思的章节:https://facelessuser.github.io/pymdown-extensions/extensions/superfences/#code-highlighting;还好我们还有众多的第三方扩展供我们使用:https://github.com/Python-Markdown/markdown/wiki/Third-Party-Extensions。文档的内容很丰富,我们就不再这里一一解释了,有兴趣的同学可以自己去看一看,说不定有什么意外的收获呢!
2024-01-05 17:00:58
1280
原创 Day77 前端知识提要(6)——jinja2模板语法
这种方法的主要问题是 Python 本 身没有被污染的值的概念,所以一个值是否安全的信息会丢失。要知道的是,导入量会被缓存,并且默认下导入的 模板不能访问当前模板中的非全局变量。要递归地 使用循环,你只需要在循环定义中加上 recursive 修饰,并在你想使用递归的地 方,对可迭代量调用 loop 变量。你可以对这类值做什么取决于应用的配 置,默认的行为是它如果被打印,其求值为一个空字符串,并且你可以迭代它,但其它 操作会失败。即一个块标签不仅提供一个可以填充的部分,也在父级 定义填充的内容。
2024-01-05 16:59:57
910
原创 Day75 前端知识提要(4)——JQuery
学习目标能够知道jQuery的作用及优点jQuery是对JavaScript的封装,它是免费、开源的JavaScript函数库,jQuery 极大地简化了 JavaScript 编程。jquery选择器就是快速选择标签元素,获取标签的,选择规则和css样式一样。选择集过滤就是在选择标签的集合里面过滤自己需要的标签选择集转移就是以选择的标签为参照,然后获取转移后的标签事件代理就是利用事件冒泡的原理(事件冒泡就是事件会向它的父级一级一级传递),把事件加到父级上,通过判断事件来源,执行相应的子元素的操作,
2024-01-05 16:53:23
904
原创 Day74 前端知识提要(3)——JavaScript
学习目标能够知道JavaScript的作用JavaScript是运行在浏览器端的脚步语言, 是由浏览器解释执行的, 简称js, 它能够让网页和用户有交互功能, 增加良好的用户体验效果。前端开发三大块1、HTML:负责网页结构 2、CSS:负责网页样式 3、JavaScript:负责网页行为, 比如:网页与用户的交互效果。
2024-01-05 16:50:01
893
原创 Day73 前端知识提要(2)——CSS
学习目标能够知道css的作用css(Cascading Style Sheet)层叠样式表,它是用来美化页面的一种语言。没有使用css的效果图使用css的效果图css 选择器是用来选择标签的,选出来以后给标签加样式。当子元素(标签)的尺寸超过父元素(标签)的尺寸时,此时需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来完成。visible 默认值, 显示子标签溢出部分。hidden 隐藏子标签溢出部分。auto 如果子标签溢出,则可以滚动查看其余的内容。
2024-01-03 09:16:38
1007
原创 Day72 前端知识提要(1)——HTML
学习目标能够知道html的作用HTML 的全称为:HyperText Mark-up Language, 指的是超文本标记语言。标记:就是标签, , 比如:等,标签大多数都是成对出现的。因为网页中还可以图片、视频、音频等内容(超越文本限制)它还可以在网页中跳转到另一个网页,与世界各地主机的网页链接(超链接文本)全拼是 Visual Studio Code (简称 VS Code) 是由微软研发的一款免费、开源的跨平台代码编辑器。
2024-01-03 09:14:28
1168
原创 Day71 计算机网络相关知识提要
短连接: 像WEB网站的http服务一般都用短链接(http1.0只支持短连接,1.1keep alive 带时间,操作次数限制的长连接),因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。申请证书的公司,公共秘钥)。 用户数据报协议是一种不可靠、无连接的协议,与同层面向连接的TCP相比,UDP是一种无连接的协议(无错误检测功能)。
2024-01-02 14:24:10
1008
原创 Day70 Python Web 框架 Django(4)——Django模板
Python Web 框架 Django(4)——Django模板
2024-01-02 14:19:03
891
原创 Day69 Python Web 框架 Django(3)——Django视图
视图就是应用中views.py文件中的函数视图的第一个参数必须为HttpRequest对象,还可能包含下参数如通过正则表达式组获取的位置参数通过正则表达式组获得的关键字参数视图必须返回一个HttpResponse对象或子对象作为响应子对象:视图负责接受Web请求,进行逻辑处理,返回Web响应给请求者响应内容可以是HTML内容404错误重定向json数据视图处理过程如下图:使用视图时需要进行两步操作,两步操作不分先后配置URLconf在应用/views.py中定义视图。
2023-12-27 15:32:11
1037
原创 Day68 Python Web 框架 Django(2)——Django模型
模型类被定义在"应用/models.py"文件中。模型类必须继承自Model类,位于包django.db.models中。接下来首先以"图书-人物"管理为例进行演示。在models.py 文件中定义模型类。# 准备书籍列表信息的模型类# 创建字段,字段类型...name = models.CharField(max_length=20, verbose_name='名称')pub_date = models.DateField(verbose_name='发布日期',null=True)
2023-12-27 15:25:44
954
原创 Day67 Python Web 框架 Django(1)——Django流程
Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。
2023-11-28 16:55:23
102
原创 Day66 实践:图形化鼠标连点器 + Python程序打包成 .exe
对于第三方依赖包较多的项目(比如需要import torch,tensorflow,cv2,numpy,pandas,geopy等等)而言,这里最好打包的方式是只将属于自己的代码转成C++,不管这些大型的第三方包!这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller和nuitka。├─utils//源码1文件夹├─src//源码2文件夹├─logo.ico//demo的图标└─demo.py//main文件。
2023-11-28 16:52:21
143
原创 Day65 Redis详解
能够描述出什么是 nosql能够说出 Redis 的特点Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色。
2023-11-28 16:50:43
118
原创 Day64 MySQL数据库的高级使用
事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。在日常生活中,有时我们需要进行银行转账,这个银行转账操作背后就是需要执行多个SQL语句,假如这些SQL执行到一半突然停电了,那么就会导致这个功能只完成了一半,这种情况是不允许出现,要想解决这个问题就需要通过事务来完成。索引在MySQL中也叫做“键”,它是一个特殊的文件,它保存着数据表里所有记录的位置信息,更通俗的来说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
2023-11-28 16:47:31
167
4
原创 Day63 MySQL数据库的条件查询
聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据。count(col): 表示求指定列的总行数max(col): 表示求指定列的最大值min(col): 表示求指定列的最小值sum(col): 表示求指定列的和avg(col): 表示求指定列的平均值分组查询就是将查询结果按照指定字段进行分组,字段中数据相等的分为一组。GROUP BY 列名 [HAVING 条件表达式] [WITH ROLLUP]
2023-11-28 16:46:11
136
6
原创 Day62 MySQL数据库的基本使用
数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加、修改、删除、查询等操作。数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果大家想要使用关系型数据库就需要安装数据库管理系统,其实就是一个应用软件。关系型数据库服务端软件关系型数据库客户端软件。
2023-11-28 16:44:35
101
原创 Day61 正则表达式
学习目标能够知道正则表达式的作用在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。学习目标能够知道在python中使用正则表达式需要导入的模块在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个 re 模块# 导入re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式,要匹配的字符串)
2023-11-28 16:39:41
67
Python抓包及反爬解决方案
2023-05-17
视频在线学习地址:https://www.bilibili.com/video/BV1Az411q7BE ——————————
2022-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人