- 博客(204)
- 资源 (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 168
原创 Day85 jenkies
随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题。尤其是近年来敏捷开发在软件领域越来越火,如何能在不间断变化的需求中快速适应和保证软件的质量显得尤其重要。持续集成正是针对这一问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能更快的开发内聚的软件。
2024-01-26 15:17:44 77
原创 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 83
原创 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 75
原创 Day82 Docker详解
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。更加详细地来说,请您假定您在开发一个应用。您使用的是一台笔记本电脑,而且您的开发环境具有特定的配置。其他开发人员身处的环境配置可能稍有不同。您正在开发的应用依赖于您当前的配置,还要依赖于某些特定文件。与此同时,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。
2024-01-26 15:13:04 74
原创 Day81 Flask框架学习
2018 Python官方年度调研报告显示Flask与Django为Python Web开发使用最主要的两个框架。如果遇到需要匹配提取中的手机号数据,Flask内置的转换器就无法满足需求,此时需要自定义转换器。自定义转换器主要做3步创建转换器类,保存匹配时的正则表达式"""手机号格式"""注意regex名字固定将自定义的转换器告知Flask应用# 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: mobile在使用转换器的地方定义使用可以返回一个元组,这样的元组必须是。
2024-01-26 15:09:19 16
原创 Day80 django实践——基于Django2.1.1和python3.6Django的博客系统开发
这是我们能看得见的过程,还有一些我们看不见的过程,那就是:当我们在浏览器里输入网址(URL)时,回车,然后浏览器就会向目标网址发送一个HTTP请求,服务器收到请求之后就会给这个请求做出一个响应,这个响应就是把对应的内容通过浏览器渲染出来,呈现给我们看。URL就是这么构造的,我们的域名www.django.cn不需要写,完整的URL应该要这么写:path(正则表达式, views视图函数,参数,别名), 里面的正则表达式, views视图函数,是必须要写的,而参数,别名是可选的。我们在有特殊需要的时候才写。
2024-01-26 15:06:06 13
原创 Day79 多线程、多进程、Tkinter、pynput、pyAutoGUI、打包——阶段性总结
pynput,是专门针对鼠标和键盘的,至于pygame、pyglet等游戏框架虽然也提供了鼠标、键盘的监控事件,但它们毕竟是用来开发游戏的,还提供了创建窗口、图形绘制、物体的碰撞检测等等很多复杂的功能。如果只是单纯的操作鼠标和键盘,使用这种游戏框架有点小题大做了,下面我们就来看看这个名叫pynput的模块吧,看看它的使用方法。Tkinter 是使用 python 进行窗口视窗设计的模块。1个进程可以拥有多个线程,进程间不共享全局变量。so:我们写的时候,需要共享全局变量会用多线程。进程=火车,线程=车厢。
2024-01-05 17:09:08 395 1
原创 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 856
原创 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 1160
原创 Day77 前端知识提要(6)——jinja2模板语法
这种方法的主要问题是 Python 本 身没有被污染的值的概念,所以一个值是否安全的信息会丢失。要知道的是,导入量会被缓存,并且默认下导入的 模板不能访问当前模板中的非全局变量。要递归地 使用循环,你只需要在循环定义中加上 recursive 修饰,并在你想使用递归的地 方,对可迭代量调用 loop 变量。你可以对这类值做什么取决于应用的配 置,默认的行为是它如果被打印,其求值为一个空字符串,并且你可以迭代它,但其它 操作会失败。即一个块标签不仅提供一个可以填充的部分,也在父级 定义填充的内容。
2024-01-05 16:59:57 823
原创 Day75 前端知识提要(4)——JQuery
学习目标能够知道jQuery的作用及优点jQuery是对JavaScript的封装,它是免费、开源的JavaScript函数库,jQuery 极大地简化了 JavaScript 编程。jquery选择器就是快速选择标签元素,获取标签的,选择规则和css样式一样。选择集过滤就是在选择标签的集合里面过滤自己需要的标签选择集转移就是以选择的标签为参照,然后获取转移后的标签事件代理就是利用事件冒泡的原理(事件冒泡就是事件会向它的父级一级一级传递),把事件加到父级上,通过判断事件来源,执行相应的子元素的操作,
2024-01-05 16:53:23 839
原创 Day74 前端知识提要(3)——JavaScript
学习目标能够知道JavaScript的作用JavaScript是运行在浏览器端的脚步语言, 是由浏览器解释执行的, 简称js, 它能够让网页和用户有交互功能, 增加良好的用户体验效果。前端开发三大块1、HTML:负责网页结构 2、CSS:负责网页样式 3、JavaScript:负责网页行为, 比如:网页与用户的交互效果。
2024-01-05 16:50:01 802
原创 Day73 前端知识提要(2)——CSS
学习目标能够知道css的作用css(Cascading Style Sheet)层叠样式表,它是用来美化页面的一种语言。没有使用css的效果图使用css的效果图css 选择器是用来选择标签的,选出来以后给标签加样式。当子元素(标签)的尺寸超过父元素(标签)的尺寸时,此时需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来完成。visible 默认值, 显示子标签溢出部分。hidden 隐藏子标签溢出部分。auto 如果子标签溢出,则可以滚动查看其余的内容。
2024-01-03 09:16:38 959
原创 Day72 前端知识提要(1)——HTML
学习目标能够知道html的作用HTML 的全称为:HyperText Mark-up Language, 指的是超文本标记语言。标记:就是标签, , 比如:等,标签大多数都是成对出现的。因为网页中还可以图片、视频、音频等内容(超越文本限制)它还可以在网页中跳转到另一个网页,与世界各地主机的网页链接(超链接文本)全拼是 Visual Studio Code (简称 VS Code) 是由微软研发的一款免费、开源的跨平台代码编辑器。
2024-01-03 09:14:28 1116
原创 Day71 计算机网络相关知识提要
短连接: 像WEB网站的http服务一般都用短链接(http1.0只支持短连接,1.1keep alive 带时间,操作次数限制的长连接),因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。申请证书的公司,公共秘钥)。 用户数据报协议是一种不可靠、无连接的协议,与同层面向连接的TCP相比,UDP是一种无连接的协议(无错误检测功能)。
2024-01-02 14:24:10 966
原创 Day70 Python Web 框架 Django(4)——Django模板
Python Web 框架 Django(4)——Django模板
2024-01-02 14:19:03 814
原创 Day69 Python Web 框架 Django(3)——Django视图
视图就是应用中views.py文件中的函数视图的第一个参数必须为HttpRequest对象,还可能包含下参数如通过正则表达式组获取的位置参数通过正则表达式组获得的关键字参数视图必须返回一个HttpResponse对象或子对象作为响应子对象:视图负责接受Web请求,进行逻辑处理,返回Web响应给请求者响应内容可以是HTML内容404错误重定向json数据视图处理过程如下图:使用视图时需要进行两步操作,两步操作不分先后配置URLconf在应用/views.py中定义视图。
2023-12-27 15:32:11 974
原创 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 895
原创 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 46
原创 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 63
原创 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 41
原创 Day64 MySQL数据库的高级使用
事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。在日常生活中,有时我们需要进行银行转账,这个银行转账操作背后就是需要执行多个SQL语句,假如这些SQL执行到一半突然停电了,那么就会导致这个功能只完成了一半,这种情况是不允许出现,要想解决这个问题就需要通过事务来完成。索引在MySQL中也叫做“键”,它是一个特殊的文件,它保存着数据表里所有记录的位置信息,更通俗的来说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
2023-11-28 16:47:31 75 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 61 6
原创 Day62 MySQL数据库的基本使用
数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加、修改、删除、查询等操作。数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果大家想要使用关系型数据库就需要安装数据库管理系统,其实就是一个应用软件。关系型数据库服务端软件关系型数据库客户端软件。
2023-11-28 16:44:35 39
原创 Day61 正则表达式
学习目标能够知道正则表达式的作用在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。学习目标能够知道在python中使用正则表达式需要导入的模块在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个 re 模块# 导入re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式,要匹配的字符串)
2023-11-28 16:39:41 23
原创 Day60 实例mini-Web框架
学习目标能够知道web框架和web服务器的关系前面已经学习过web服务器, 我们知道web服务器主要是接收用户的http请求,根据用户的请求返回不同的资源数据,但是之前我们开发的是静态web服务器,返回的都是静态资源数据,假如我们想要web服务器返回动态资源那么该如何进行处理呢?这里我们给大家介绍一个web框架,使用web框架专门负责处理用户的动态资源请求,这个web框架其实就是一个为web服务器提供服务的应用程序,简称web框架。web服务器接收浏览器发起的请求,如果是动态资源请求找web框架来处理。
2023-11-23 09:45:54 30
原创 Day59 关于Python闭包和装饰器
我们前面已经学过了函数,我们知道当函数调用完,函数内定义的变量都销毁了,但是我们有时候需要保存函数内的这个变量,每次在这个变量的基础上完成一些列的操作,比如: 每次在这个变量的基础上和其它数字进行求和计算,那怎么办呢?我们就可以通过咱们今天学习的闭包来解决这个需求。在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数。不修改已有函数的源代码不修改已有函数的调用方式。
2023-11-23 09:43:54 29
原创 Day58 Python图形化页面-Tkinter
由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅。一、前言二、Tkinter 是什么三、Tkinter 控件详细介绍1. Tkinter 模块元素简要说明四、动手实践学习1. 创建主窗口及Label部件(标签)创建使用2. Button窗口部件3. Entry窗口部件4. Text窗口部件5. Listbox窗口部件6. Radiobutton窗口部件7. Checkbutton窗口部件8. Scale窗口部件9. Canvas窗口部件。
2023-11-23 09:41:56 21
原创 Day57 HTTP协议和静态Web服务器
HTTP 协议的全称是(HyperText Transfer Protocol),翻译过来就是超文本传输协议。超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片、音乐、视频、超链接等等都属于超文本。HTTP 协议的制作者是蒂姆·伯纳斯-李,1991年设计出来的,HTTP 协议设计之前目的是传输网页数据的,现在允许传输任意类型的数据。传输 HTTP 协议格式的数据是基于 TCP 传输协议的,发送数据之前需要先建立连接。GET 方式的请求报文POST 方式的请求报文。
2023-11-23 09:39:06 24
原创 Day56 网络编程——socket
学习目标能够说出IP 地址的作用学习目标能够说出端口和端口号的作用端口是传输数据的通道,好比教室的门,是数据传输必经之路。那么如何准确的找到对应的端口呢?其实,每一个端口都会有一个对应的端口号,好比每个教室的门都有一个门牌号,想要找到端口通过端口号即可。学习目标能够说出TCP 的特点TCP 是一个稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上网。学习目标能够说出 socket 的作用TCP 客户端程序开发TCP 服务端程序开发客户端程序是指运行在。
2023-11-23 09:35:42 20
原创 Day55 Python多任务编程
学习目标能够知道多任务的执行方式在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。前面我们使用进程执行的任务是没有参数的,假如我们使用进程执行的任务带有参数,如何给函数传参呢?args 表示以元组的方式给执行任务传参kwargs 表示以字典方式给执行任务传参进程之间不共享全局变量主进程会等待所有的子进程执行结束再结束在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。
2023-11-23 09:33:10 21
原创 Day54 Linux高级命令
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。软链接硬链接命令说明ln -s创建软链接ln创建硬链接.gz.bz2.zip.gz和.bz2的压缩包需要使用tar命令来压缩和解压缩.zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩节省磁盘空间命令说明chmod修改文件权限字母法数字法命令说明ssh远程登录scp远程拷贝。
2023-11-23 09:31:31 25
原创 Day53 Linux基础命令
操作系统直接运行在计算机上的系统软件, 它是控制硬件和支持软件运行的计算机程序。它是能够虚拟出来计算机的一个软件。VmwareVirtualBox只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机。就是模拟一个真实的计算机,好比一个虚拟的电脑,对于快速学习一个新的操作系统就可以通过虚拟机来完成。虚拟机之间是相互独立的,删除虚拟机不会对其它虚拟机产生影响,当然也不会对电脑本身生影响Ubuntu操作系统是属于Linux操作系统中的一种。
2023-11-21 14:48:36 57 2
原创 Day52 实现自动发送邮件功能
地址传送邮件的规则,可以控制信件的中转方式。sendmail()方法指定发件人、收件人,以及邮件的正文;指定显示附件的文件;首先,调用 email 模块下面的 MIMEText 类,定义发送邮件的正文、格式,以及编码。yagmail 是 Python 的一个第三方库,可以让我们以非常简单的方法实现自动发送邮件。端(如 Foxmail),登录自己的邮箱账号。然后,使用 MIMEMultipart 类定义邮件的主题,attach()指定附件信息。通过 MIMEText 类,定义发送邮件的正文、格式,以及编码;
2023-11-21 14:44:23 27
原创 Day51 移动端测试详解(11)——Allure报告和Jenkins集成
Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架, 能够生成美观易读的报告,目前支持语言:Java, PHP, Ruby, Python, Scala, C#。它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成.Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作, 旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.
2023-11-21 14:42:57 23
原创 Day50 移动端测试详解(10)——数据驱动--Yaml
掌握数据的存储方式了解什么是yamlYaml 是一种所有编程语言可用的友好的数据序列化标准.其语法和其他高阶语言类似,并且可以简单表达清单、散列表、标量等资料形式.将测试脚本中的数据独立出来,单独存放到文件中,便于对数据的管理.经过实现我们发现很多代码都是重复的,变化的只是要进行测试的功能模块,因此我们可以对此架构进行重复使用,更改的只是测试脚本文件、搜索功能的集体实现.新增的是数据驱动这一块,后面也可以重复使用.重点要掌握yaml的数据驱动实现.
2023-11-21 14:40:55 29
原创 Day49 移动端测试详解(9)——PO模式
知道PO模式的作用及优缺点PO模型是Page Object Model的简写,页面对象模型.作用,就是把测试页面和测试脚本进行分离,即把页面封装成类,供测试脚本进行调用.到此为止我们已经把发送短信的所有功能全部抽取完成,经过抽取我们发现我们的代码文件越来越多,但是维护起来更加容易,也容易扩展,代码的复用率提高了很多.
2023-11-21 14:40:00 35
原创 Day48 移动端测试详解(8)——Pytest
pytest是python的一种单元测试框架,同自带的Unittest测试框架类似,相比于Unittest框架使用起来更简洁,效率更高.1. setup和teardown函数主要分为:模块级、类级、功能级、函数级别、2. 存在于测试类内部pytest包含很多插件包,可以根据需求选择安装即可.插件列表地址我们这里只讲解常用的!!fixture是pytest特有的功能,它用pytest.fixture标识,以装饰器形式定义在函数上面。
2023-11-21 14:36:49 28
Python抓包及反爬解决方案
2023-05-17
视频在线学习地址:https://www.bilibili.com/video/BV1Az411q7BE ——————————
2022-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人