自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python:类中属性的操作

⑴属性的绑定经常发生在两个时间:类定义时、运行过程中3、前面在介绍类属性和实例属性时,都是在定义类时绑定的属性⑴因此这里主要介绍在运行过程中绑定类属性和实例属性4、绑定属性的语法:⑴objname:待绑定属性的对象名(不管是类属性还是实例属性都是依托对象而存在的。因此需要一个对象)⑵attrName:绑定的属性名⑶attrValue:绑定的属性值⑷整体:为对象objname绑定(定义)一个属性值为attrValue的attrName属性。

2023-07-05 21:09:47 698

原创 Python:多分支选择

1、和其它编程语言一样,按照语句执行流程划分,Python程序也可分为3大结构:顺序结构、选择(分支)结构和循环结构⑴顺序结构:就是让程序按照从上到下的顺序依次执行每一行代码,不重复执行任何代码,也不跳过任何代码⑵选择结构:也称分支结构,就是让程序根据一定的条件来有选择性的执行代码⑶循环结构:就是让程序根据一定的条件来不断地重复执行同一段代码2、Python条件语句,也称为分支(选择)语句,体现了程序的选择结构⑴即不同的场景,可以选择不同的处理方式。

2023-06-18 20:13:58 1522

原创 Python:BeautifulSoup之搜索文档树

1、前面介绍了BeautifulSoup库的基本使用:可通过来获取指定的Tag对象⑴只是使用这种方法来获取标签对象时,只会返回第一个匹配的标签对象2、另外BeautifulSoup库还提供了其他方法来获取某一标签对象。其中经常使用到的是find()和find_all()方法⑴这里先介绍这两个方法的使用3、find_all()方法1、作用:搜索当前BeautifulSoup对象或Tag对象下的所有的子、孙标签,并返回所有符合条件的标签对象。

2023-06-08 21:12:05 1227

原创 Python:BeautifulSoup库介绍

1、BeautifulSoup是Python中的一个第三方库,其最主要的功能是处理HTML文档⑴查找HTML文档中的指定标签⑵获取HTML文档中指定标签的标签名、标签值、标签属性等⑶修改HTML文档中指定标签2、BeautifulSoup库将HTML文档解析为一个对象,使用该对象方法能很方便的获取HTML文档中的数据3、BeautifulSoup库也可以用来处理XML文档。

2023-05-12 22:32:44 2292

原创 Python:json数据与Python对象之间的转换

⑶将获取到的属性值拼装成一个字典,并返回给dumps()方法⑷dumps()方法将得到的字典转换为json格式。

2022-09-18 18:16:08 4604

原创 Python:处理XML文件汇总

1、前面介绍了使用Python中的ElementTree库来解析、创建XML文件⑴如果对这个库不了解的可以先去看看这个库2、ElementTree库中提供的方法都是对单个标签进行操作的⑴在实际处理XML数据时,肯定会涉及到很多标签⑵因此不可能一个标签一个标签的去处理3、因此这里主要是对ElementTree库中的一些方法进行二次封装⑴达到一次性处理多个标签的目的4、这里面的方法是我自己根据当前需要来编写的⑴可能并不适用于所有情况。

2022-09-16 12:24:06 1322

原创 Python:类的__dict__属性

①定义了哪些实例属性,__dict__就有哪些键值对(不管是子类的还是父类的都算)②实例化类时传入哪些属性,__dict__就有哪些键值对3、在日常中,可以通过查看类对象的__dict__属性来确定该类中定义了哪些方法和属性。

2022-09-12 13:45:15 1267

原创 Selenium:上传、下载文件

Selenium:上传、下载文件1、上传文件是比较常见的Web功能之一。比如:常见的上传头像功能2、对于Web页面的上传功能实现一般有以下两种方式: ⑴普通上传:普通的附件上传是将本地文件的路径作为作为一个值放在input标签中,通过form表单将这个值提交给服务器 ⑵插件上传:一般是指基于Flash、JS或AJAX等技术所实现的上传功能 ⑶也就是说文件上传分为两种方式:一种是input标签的,一种是非input标签的3、一般Web页面的上传功能的操作是:单击"上传"按钮...

2022-04-17 17:57:47 2565

原创 Selenium:下拉框操作

下拉框1、在Web网页中经常会遇到下拉框(下拉列表):比如说分页、每页显示的条数、语言的切换等功能,很多时候经常都是以下拉框的形式展现2、下拉列表是网页中一种最节省页面空间的选择方式,默认状态下只显示一个选项,只有单击下拉按钮后才能看到全部的选项进而进行选择3、在实际Web网页开发中下拉框的实现方式有很多: ⑴<select>和<option>实现下拉框 ⑵<ul>和<li>实现下拉框 ⑶其他4、对于不同方式实现的下拉框...

2022-03-26 12:16:10 16015 4

原创 Selenium:操作JS

JavaScript1、JavaScript是Web的编程语言,所有现代的HTML页面都会使用JavaScript ⑴JavaScript是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页2、一个完整的网页是由HTML、CSS、JavaScript等组成的 ⑴HTML:相当于骨架,决定了网页的基本结构 ⑵CSS:相当于表现,决定了网页的表现形式 ⑶JavaScript:相当于动作,决定了网页能做什么操作3、把一个网页比做成一个人的话 ...

2022-03-24 21:22:55 4105

原创 Selenium:操作Cookie

什么是Cookie1、Cookie用于辨别用户身份,访问服务器时保持登录状态等功能(用于服务器识别当前访问的是哪个用户)2、在网站中,http请求是无状态的(在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要立新的链接) ⑴也就是说即使第一次和服务器连接并且登录成功后,第二次请求服务器的时候服务器仍然不能知道当前是哪个用户的请求 ⑵cookie的出现就是为了解决这个问题3、第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存到本地,当该用户第二...

2022-03-23 20:53:55 5531

原创 Selenium:元素等待

元素等待1、前面介绍过,在使用Selenium做Web自动化过程中,可能会因为网络等原因导致页面元素没有加载出来就执行了代码,进而导致报错 ⑴特别是在进行元素定位时,经常会遇到元素未加载出来就执行了定位代码,导致报错2、因此在做Web自动化过程中在合理的地方,设置合理的元素等待时间是非常有必要的。Selenium中提供了3种等待方法 ⑴显式等待:WebDriverWait() ⑵隐式等待:implicitly_wait() ⑶强制等待:time.sleep()...

2022-03-21 21:21:37 2064 1

原创 Selenium:元素判断

判断元素是否存在1、前面有介绍过使用Python中的sleep()方法来进行等待:等待一定的时间,让元素加载出来后再执行代码 ⑴但是元素加载出来的时间是不固定的,有时长有时短,因此我们等待的时间就不固定了 ⑵最好的办法是:每隔一定的时间后使用Selenium中的一些方法来判断元素是否加载了出来(这个就是后面要介绍的"显式等待") ①元素加载出来了,就不继续等待了 ②元素未加载出来,就继续等待2、另外就是在做自动化的时候,有时候会需要判断元素是否存在,i...

2022-03-16 20:27:35 3469 2

原创 Selenium:鼠标、键盘事件

鼠标事件1、前面介绍了Selenium中模拟鼠标"左键单击"的方法click(),仅仅只有这个方法是完全不够的。现在的Web产品中提供了更丰富的鼠标交互方式 ⑴例如鼠标右击、双击、悬停、拖动等功能 ⑵同样的在Selenium中也提供了对应的方法来模拟这些鼠标操作2、在WebDriver中,将这些关于鼠标操作的方法封装在了ActionChains类中 ⑴类名ActionChains两个单词首字母需要大写3、ActionChains类下的鼠标方法在使用前都需要先实例化一个Ac...

2022-03-10 20:21:09 9206

原创 Seleniu:元素常用操作

Selenium元素操作1、在使用Selenium过程中,仅仅是对元素进行定位和对浏览器WebDriver对象进行操作是完全不够的,更多的是需要我们对一个元素进行操作 ⑴比如:向输入框中输入数据、点击按钮等等2、使用元素定位方法定位到一个元素后,find_element_by_*等方法会返回一个WebElement对象 ⑴此时我们就能根据WebElement对象下的一些方法或属性对这个元素进行一定的操作3、实际中我们是怎么使用一个网页的(怎么操作网页元素的),在Selenium中...

2022-03-08 21:55:42 1155

原创 Selenium:表单切换

表单1、就是网页标签名为frame或iframe的元素,表单引用了其他页面的链接,真正的页面数据没有出现在源码中,但是在浏览器中可以看见,与浏览器的多个窗口类似 ⑴这里说的表单不是HTML中的form标签,而是frame或iframe标签 ⑵frame、iframe标签为HTML页面中的一种表单框架,主要作用是在当前页面中指定区域显示另一页面元素2、frame或iframe标签表示在当前页面中镶嵌了另一个页面(以URL链接方式引用的)。因此就相当于是两个页面显示在了同一个窗口中...

2022-03-04 17:01:59 2115

原创 Selenium:弹窗处理

HTML中的弹窗1、在实际系统中,在完成某些操作时会弹出对话框来提示,主要分为"警告消息框","确认消息框","提示消息对话"三种类型的对话框2、警告消息框:alert  ⑴警告消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说用户必须先关闭该消息框然后才能继续进行操作3、确认消息框(confirm) ⑴确认消息框向用户提示一个"是与否"问题,用户可以根据选择"确定"按钮和"取消"按钮4、提示消息对话(prompt)  ⑴提示消息框提供了一个文本字...

2022-03-04 16:37:53 12701 1

原创 Selenium:浏览器操作

Selenium浏览器操作1、前面介绍过,根据Selenium下的WebDriver类可以实例化一个浏览器WebDriver对象:返回WebDriver对象2、打开一个指定网页、定位HTML文档中指定元素都是根据浏览器WebDriver对象的方法来实现的 ⑴打开一个指定网页:WebDriver对象.get() ⑵元素定位: ①WebDriver对象.find_element_by_*() ②WebDriver对象.find_element() ...

2022-03-03 20:45:06 2091

原创 Selenium:元素定位

Selenium自动化测试1、Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准确抓取到对应元素才能进行后续的自动化控制 ⑴前面介绍了前端网页HTML是由很多标签元素有层级的组成的,对于某一个标签它在整个网页HTML中的位置是唯一的,因此可以通过某些方法准确的找到这个标签元素并操作它 ⑵使用WebDriver对象的find_element_by_*函数可以定位一个Web页面元素 ⑶使用WebDriver对象的find_elements_b...

2022-02-28 15:19:57 1953

原创 Selenium:简介

HTML简介1、HTML中文为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言2、HTML是用来描述网页的一种语言 ⑴HTML不是一种编程语言,而是一种标记语言,标记语言是一套标记标签(markup tag) ⑵HTML使用标记标签来描述网页,包含了HTML标签及文本内容HTML结构1、一个HTML网页(文档)是由大量不同、相同标签组成的 ⑴这些标签都是定义好了的(前端开发人员无法自己定义) 2、以下...

2022-02-19 15:57:26 8079 1

原创 Linux:用户相关

Linux用户1、Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统2、用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护 ⑴用户权限是通过创建用户时分配的用户ID(User ID,通常缩写为UID)来跟踪的3、每个用户账号都拥有一个唯一的用户名和各自的口令 ⑴用户在登录时键入正确的用户名和口令后,...

2021-06-22 20:40:53 1173 1

原创 Linux:服务器相关指令

服务相关命令1、随着微服务兴起,springboot也用得越来越多,springboot项目默认是打包成jar包的,执行jar包就可以同时启动其内置的tomcat,免去了单独部署tomcat的工作,可谓非常方便2、目前在工作中遇到的服务包主要有两种类型: ⑴jar包:其内置了Tomcat,因此不需要部署在Tomcat中,可直接启动 ⑵war包:其需要部署在Tomcat中,依靠Tomcat来启动 ⑶因此这里主要介绍下启动jar包相关的命令直接启动1、命令格式:java ...

2021-06-19 14:42:37 564

原创 Linux:文件系统

Linux文件系统简介1、Linux文件系统与Windows有较大的差别 ⑴Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如C、D、E、F等 ⑵Linux的文件结构是单个的树状结构,根目录是root(用"/"表示),其他目录都要位于根目录下 ⑶在Linux中使用正斜杠(/)而不是反斜杠(\)来划分目录。在Linux中,反斜杠是用来标识转义字符的2、绝对路径:路径的写法,由根目录/写起 ⑴例如: /usr/share/doc 这个目录 ...

2021-06-19 11:08:45 3138

原创 Python:logging模块

日志的作用1、日志的重要性不可小觑。日志的作用可以简单总结为以下3点: ⑴程序调试 ⑵了解软件程序运行是否正常 ⑶软件程序运行故障分析与问题定位2、如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析 ⑴如:分析用户的操作行为、类型喜好、地域分布以及其它更多的信息 logging模块简介1、几乎所有开发语言都会内置日志相关功能,或者会有比较优秀的第三方库来提供日志操作功能,比如:log4j,log4php等。它们功能强大、使用简单 ⑴Py...

2021-06-07 20:04:04 1235 2

原创 Robot_Framework:常用内置关键字

常用内置关键字1、RF工具是关键字驱动的,因此我们不仅可以自己定义一些业务关键字,也可以使用RF内置的一些关键字:就是内置的一些函数2、在编辑测试用例的过程中,有时候直接使用RF内置的关键字就能很简便的达到我们想要的目的(就不需要再去自定义关键字了)3、因此,还是需要多了解下RF内置的常用关键字log关键字1、log 关键字的功能与Python里的 “print()” 一样,可以打印任何你想打印的内容例1:*** Test Cases ***test case1 .

2021-03-06 21:20:48 1686

原创 Robot_Framework:断言

RF断言1、RF中断言的意思与Python中断言的意思差不多:保证用例输出与我们预期的一致 ⑴用例输出与预期结果一致:用例继续往下执行 ⑵用例输出与预期结果不一致:抛出错误信息,用例停止执行2、测试用例的目的是要验证一些操作否符合我们的预期结果,所以在测试用例中,断言函数是必不可少的一项。 ⑴我们做的每一步操作都会有预期的结果,为了保证操作得到的结果符合预期,我们需要在测试用例中添加断言,来保证实际结果和预期结果一致断言函数名 描述 should be equ...

2021-01-17 19:58:01 4583 1

原创 Robot_Framework:关键字

Keyword关键字1、Robot Framework主要就是关键字驱动的自动化测试,关键字是它的核心。从关键字的类型来说,可以分为系统关键字和用户关键字两种 ⑴系统关键字通常都是来源于测试库 ⑵用户关键字更多的是来源于资源文件(当然也可以在测试套件中加用户关键字,但是不推荐这样)2、系统关键字底层就是Python函数,而用户关键字其实和函数也没什么两样,完全可以像设计函数一样设计自己的用户关键字 ⑴RF中的关键字其实就是Python函数。因此常说的调用关键字实际上就是调用(...

2021-01-12 21:14:22 6382 1

原创 Robot_Framework:变量

变量声明1、因为RF底层是Python,所以它的语法也有些类似,变量不需要特定声明,只要有初始化赋值即可使用2、如果硬要说有声明,那可以把在TestSuite下面手动添加的变量理解为声明。比如可以在TestSuite上点右键或者在Edit区点Add Scalar或Add List或Add Dict来新增变量3、在TestSuite下定义变量给我的感觉就是:定义了一些全局变量,适用于当前TestSuite下的全部测试用例 ⑴如果是定义在资源文件suite下,通过调用资源文件,任何一个测试s...

2021-01-11 20:20:34 5403 1

原创 Mysql:连接查询

连接查询1、连接是关系型数据库的主要特点。连接查询是关系型数据库中最主要的查询,主要包括内连接、外连接等 ⑴连接查询:也可以叫跨表查询,需要关联多个表进行查询2、通过连接运算符可以实现多个表查询3、在关系数据库管理系统中,表建立时各数据之间的关系不必确定,通常把一个实体的所有信息存放在一个表中 ⑴当查询数据时,通过连接操作查询出存放在多个表中的不同实体信息 ⑵当两个或多个表中存在相同意义的字段时,便可以通过这些字段对不同的表进行连接查询注:1、在实际开发中,如果把所.........

2020-11-23 20:28:21 11378 2

原创 Mysql:合并查询结果、别名

合并查询结果1、利用UNION关键字,可以给出多条SELECT语句,并将它们的查询结果组合成单个结果集2、在合并时,两个查询结果对应的列数、数据类型必须相同3、各个SELECT语句之间使用UNION或UNION ALL关键字分隔 ⑴UNION不使用关键字ALL,执行的时候会删除重复的记录,所有返回的行都是唯一的 ⑵使用关键字ALL的作用是不删除重复行也不对结果进行自动排序4、语法:SELECT column,... FROM table1 UNION [ALL] SELECT...

2020-11-21 18:03:10 1678

原创 Mysql:子查询

子查询1、子查询是指:一个查询语句嵌套在另一个查询语句内部的查询 ⑴嵌套在内部的查询语句:叫做子查询,又叫内部查询 ⑵相对于内部查询,包含内部查询的就称为外部查询2、子查询可以包含普通SELECT语句可以包括的任何子句,比如:distinct、group by、order by、limit、join和union等 ⑴但是对应的外部查询必须是以下语句之一:SELECT、INSERT、UPDATE、DELETE、SET或者DO。可以进行多层嵌套3、子查询的位置:SELECT中...

2020-11-21 17:01:27 2095 1

原创 Mysql:分组查询

分组查询1、分组查询是对数据按照某个或多个字段进行分组,在MYSQL中使用GROUP BY关键字对数据进行分组2、GROUP BY关键字可以将查询结果按照某个字段或多个字段进行分组。字段中值相等的为一组 ⑴分组的核心是:在查询SQL中指定分组的列名,然后根据该列的值进行分组,值相等的为一组3、分组查询的基本的语法格式如下:GROUP BY 字段名 [HAVING 条件表达式]参数:1、字段名:是指按照该字段的值进行分组(分组是所依据的列名称)2、HAVING条件表达式:用来...

2020-11-15 20:00:25 46185 9

原创 Mysql:单表查询

单表查询1、数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单的查询数据库中存储的数据,还应根据需要对数据进行筛选,以及确定数据以什么样的格式显示2、MySQL从数据表中查询数据的基本语句为SELECT语句3、单表查询是指从一张表中查询所需数据4、查询方式主要有:查询所有字段、查询指定字段、查询指定记录、查询空值、多条件的查询、对查询结果进行排序等注:本次查询的数据基于下图,可能会临时更改里面的某些值查询所有字段1、语法:在SELECT语句中使用星号(*.

2020-11-14 22:44:40 1068

原创 Python:装饰器

内嵌函数python是一种面向对象的编程语言,在python中一切皆对象,这样就使得变量所拥有的属性,函数也同样拥有这样我们就可以理解在函数内创建一个函数的行为是完全合法的。这种函数被叫做内嵌函数,这种函数只可以在外部函数的作用域内被正常调用,在外部函数的作用域之外调用会报错例1:def Func(): def Add(data): result = 0 for number in data: result += number...

2020-11-01 18:16:10 531 1

原创 Oracle:子查询、排序

CMD命令行连接Oracle数据库1、使用CMD命令行连接Oracle数据库应该跟连接MySQL数据库差不多,因此这里简单介绍下2、命令:conn 用户名/密码@数据库所在IP:端口号/实例名 ⑴因为在Oracle中用户对应数据库,因此用不同的用户名来连接到不同的数据库例0:C:\Users\Administrator>sqlplus/nologSQL*Plus: Release 11.2.0.1.0 Production on 星期一 9月 14 20:10:51 20...

2020-10-07 22:58:36 3775

原创 Python:操作配置文件

配置文件1、将代码中的配置项抽取到配置文件中,修改配置时不需要涉及到代码修改,避免面对一堆令人抓狂的问题,极大的方便后期软件的维护 ⑴把一些配置信息提出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码2、在Python中经常用到的配置文件有.conf和.ini3、Python读取写入配置文件很方便,可使用内置的configparser模块。该模块支持读取windows下的.conf及.ini文件等 ⑴.conf和.ini的配置文件在格式上是差不多的,所以这里以.ini...

2020-09-26 12:48:42 1109

原创 Oracle:时间类型

Oracle中的时间类型1、Oracle中的时间类型只有date和TIMESTAMP,TIMESTAMP是比date更精确的类型 ⑴DATE类型:ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型 ⑵TIMESTAMP类型:ORACLE常用的日期类型,它与date的区别是TIMESTAMP类型不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位2、日期时间函数用于处理时间类型的数据,Oracle中提供了很多和日期相关的函数。并且...

2020-07-30 20:58:12 40640

原创 Oracle:基础

Oracle数据库1、Oracle Database,又名Oracle RDBMS,或简称Oracle2、是目前世界上流行的关系型数据库管理系统,是目前最流行的C/S或B/S体系结构的数据库之一,它具有系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案3、oracle目前是世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系型数据库,它是一个完备关系的产品;作为分布式数据库它实

2020-07-19 21:12:08 13625 1

原创 Python:处理XML文件

1、XML指可扩展标记语言(eXtensible Markup Language)2、XML 设计用来传输和存储数据3、XML是一种允许用户对自己的标记语言进行定义的源语言4、XML是一种固有的分层数据格式,最自然的表示方式是使用树型结构。

2020-07-12 20:40:31 11074 4

原创 Python:数据对比

1、在实际开发中,可能会遇到对比两个数据的差异性的需求⑴比如对比两个字符串、列表、元组、字典、集合数据的值是否相等2、在Python中有很多方法可以用来对比两组数据的差异性⑴比较运算符⑵集合方法⑶集合运算符⑷第三方库。

2020-06-30 19:21:23 4920

空空如也

空空如也

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

TA关注的人

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