- 博客(79)
- 资源 (7)
- 收藏
- 关注
原创 打卡day04
"""zip()函数zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表;如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用* 号操作符,可以将元组解压为列表;"""num =[1,4,7,8]str = ['a','d','g','h']for a,b in zip(num,str): print(b,'is',a)打印结果:a is 1d is 4g is 7h is 8""..
2022-03-04 10:34:18
278
原创 打卡day03
"""我们在注册应用的时候,常常用手机号作为账户名,在短信验证之前一般都会检验号码的真实性,如果不存在的号码就不会放验证码。检验规则如下:长度不少于11位是移动、联通、电信号段中的一个电话号码移动号段,联通号段、电信号段如下:CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705]CN_union = [130,131,132,155,156,185,186,1.
2022-03-02 15:45:33
239
原创 打卡day02
# 打印1~100内的偶数def shu(): for oushu in range(1,100): if oushu %2==0: print(oushu)shu()
2022-02-25 17:46:30
124
原创 打卡day01
# 给登录函数增加一个新功能:输入密码错误超过3次就禁止再次输入密码password_list=['*#*#','123456']def account_login(): tries=3 while tries > 0: password = input('请输入密码:') password_correct = password ==password_list[-1] password_reset = password ==pas.
2022-02-24 17:23:48
722
原创 自动化测试用例编写
自动化测试用例设计原则在编写自动化测试用例过程中应该遵循以下原则:(1)一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器;(2)一个用例只验证一个功能点,不要试图在用户登录后把所有的功能都验证一遍;(3)尽可能烧的编写逆向测试用例。一方面因为逆向逻辑的用例很多(例如:手机输错有十几种情况);(4)另一方面自动化测试脚本本身比较脆弱,复杂的逆向逻辑用例实现起来较为麻烦且容易出错;(5)用例和用例之间避免产生依赖;(6)一条测试用例完成后需要对测试场景进行还原,以免影响
2022-01-26 18:19:03
1960
原创 最有价值的投资
最有价值的投资就是投资自己,看到这段话的时候不以为然,但想想这些年自己的确没有做过什么成功的投资,不妨试着投资一下自己,2022年给自己定几个小目标:学习python,达到能读写代码的程度; 学习自动化测试,接口自动化、UI自动化; 一个月看一本书; 每周做一次学习总结;...
2022-01-25 13:52:57
753
原创 Selenium自动化测试-脚本录制神器Katalon Recorder
Katalon工具:和Selenium IDE功能类似的工具,可以到处python+unittest的脚本;Chrome浏览器中添加KatalonKatalon Recorder Chrome插件,Katalon Recorder 谷歌浏览器插件下载_安装_教程-扩展迷
2022-01-06 08:50:27
240
原创 Selenium-By定位及如何确定元素唯一
什么是By定位?有时候我们不知道用哪种方法来定位元素,By定位可以根据实际场景设定定位策略; By定位和之前学习的8种定位方法差不多,只不过是写法上的不同; 使用By定位,首先需要导入By类;fromselenium.webdriver.common.byimport By 语法如下:定位方式 定位单个元素 id定位 find_element(By.ID,"id") class定位 find_element(By.CLASS_NAME,"class") name..
2022-01-05 16:54:53
9440
原创 selenium 浏览器、鼠标、键盘的基本操作
所谓浏览器操作是指webdriver通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器、控制浏览器大小、浏览器刷新即浏览器前进、后退等。启动浏览器driver= webdriver.Chrome()打开页面driver.get(url)浏览器等待time.sleep(2)用于将程序停顿一段时间后再执行。webdriver将等待,知道页面完全加载完成,然后继续执行下面的脚本控制浏览器窗口大小窗口最大化:driver.maxmize_wind
2022-01-05 11:31:03
967
原创 Selenium元素定位总结
元素定位如何进行元素定位?元素:由标签头+标签尾+标签头和标签尾包括的文本内容元素的信息就是指元素的标签名以及元素的属性元素的层级结构就是指元素之间相互嵌套的层级结构元素定位最终就是通过元素的信息或者元素的层级机构来进行元素定位Selenium 八种定位元素方法id定位name定位class_name定位tag_name定位link_text定位partail_link_text定位xpath定位css定位id定位通过元素的id属性值来进行元素定位,在HTML标准规范中i
2021-12-11 11:45:06
1507
1
原创 TCP通信原理
TCP协议用来控制两个网络设备之间的点对点通信,两端设备按作用分为客户端和服务端。服务端为客户端提供服务,通常等待客户端的请求信息,有客户端请求到达之后,及时提供服务和返回响应消息;客户端向服务端主动发出请求,并接受响应消息。首先启动服务端程序,并开始等待网络中的客户请求,然后客户端主动向服务端发出连接请求,服务端接收到客户端的连接请求后,并和客户端之间建立一个稳定的TCP/IP通信连接。 现在客户端将向服务端主动发出请求,服务端接收客户端消息,并及时返回响应消息。这是通过IO流(字节流)实现的。
2021-12-08 18:31:34
5050
原创 软件测试面试题
测试面试题1.怎么来设计测试方案根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等); 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性; 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据已及相互间的逻辑、物理连接。今后测试执行时需要依据这个...
2021-11-30 13:37:03
813
原创 证券从业资格《金融》考试知识点归纳
境外上市外资股原来是指股份有限公司向境外投资者募集并在我国境内上市的股份,投资者限于:外国的自然人、法人和其他组织;我国香港、澳门、台湾地区的自然人、法人和其他组织;定居在国外的中国公民等,这类股票称为B股。 注册制是一种不同于审批制、核准制的证券发型监管制度,它的基本特点是以信息披露为中心,通过要求证券发行人真实、准确、完整地披露公司信息,使投资者可以获得必要的信息对证券价值进行判断并做出是否投资的决策,证券监管机构对证券的价值好坏、价格高低不作实质性判断; 股份分割又称为拆股或拆细,是将原有股份均等
2021-11-17 18:15:16
776
转载 高内聚、低耦合
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否抵。通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低;内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码;内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素联系的越紧密,则它的内聚性就越高。所谓高
2021-11-11 18:22:42
240
原创 软件评测师考试学习计划
软件评测师教程阅读计划第1章 软件测试概论 阅读时间 完成时间 第2章 软件测试基础 2021.11.09 第3章 软件质量与评价 第4章 软件测试过程与管理 第5章 黑盒测试案例设计技术 第6章 白盒测试技术 第7章 面向对象的软件测试技术 第8章 应用负载压力测试 第9章 Web应用测试 第10章 网络测试 ..
2021-11-09 18:27:31
12287
原创 接口类型—RPC
接口分类http、https、RPC、webservice、Restful api各种协议接口涉及的技术RPCRPC是协议,俗称远程过程调用,RPC实现包括:Dubbo、Hetty、Thrit、GRPC等,其中以阿里的Dubbo类型最为常见。Dubbo学习主流的RPC协议,就要学习Dubbo接口。首先我们要对Dubbo有一定的了解。Dubbo是一个分布式服务框架,可以实现服务治理,即所谓的SOA。提到Dubbo又需要了解zookeeper注册中心,Dubbo服务是以什么形式和zook
2021-11-04 11:15:49
1188
原创 同步调用、异步调用、回调
同步调用:一种阻塞式调用方式,调用方要等待对方执行完毕才返回,它是一种单向调用;异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口,就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫做回调方法)回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;...
2021-10-29 18:23:26
484
原创 安装Selenium+Firefox+Firepath+Firebug
环境准备元素定位在Firefox上可以安装Firebug和Firepath辅助工具进行元素定位。浏览器:Firefox 安装插件:Firebug和Firefox 链接:https://pan.baidu.com/s/1Ht1rj5VqFmTZWZWWg-hwcg 提取码:yj10Firefox安装成功后,选项-高级-更新,设置不自动更新解压火狐2个插件的源文件点击火狐右上方菜单栏, 选择 “附件组件”点击附件组件页面的设置按钮,选择 “从文件安装附加组...
2021-09-15 18:34:07
154
原创 Python+Selenium安装及环境变量配置
环境准备 Python安装 推荐版本:python3.5或3.6 pip安装 安装selenium 推荐 版本:2.53.6 pycharm Firefox 推荐版本:46以下 设置环境变量 如果python已安装,不知道安装在哪里后,可以通过cmd 查找python的位置找到python安装路径后,看下这个目录Python\Python35\Scripts,有没有pip.exe和easy_install.exe(一般都有,没有的话需要重新安装一次)将pyt...
2021-09-14 13:45:07
1434
转载 消息中心面试题
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?2、面试官心里分析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了,或者消费的极其极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是整个这就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,导致比如rabbitmq设置了消息过期时间后就没了怎么办?所以就这事儿,其实线上挺常见的,一般不出,一出就..
2021-09-10 16:22:06
153
原创 403Forbidden错误的原因和解决方法
403错误是网站访问过程中,常见的错误提示。资源不可用,服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致,比如IIS或者Apache设置了访问权限不当。一般会出现以下提示:403 Forbidden是什么意思?403 Forbidden是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在Http请求的方法不是“Head”,并且服务器想让客户端知道为什么没有
2021-09-09 18:18:29
74151
2
原创 打卡day13 python基础-导入requests库
在【开始】菜单——>找到【命令提示符】——>右键,以管理员身份运行 输入命令:pip install requests导入成功
2021-08-12 11:22:33
197
原创 打卡day12 python基础-类
类是有一些系列有共同特征和行为事物的抽象概念的总和。类和对象创建类语法:class 类名: 代码实例化对象语法:对象名 = 类名()调用类属性和方法语法:对象名.属性:对象名.方法()class Coco: formula = ['caffeine','sugar','water','soda']"""使用class来定义一个类,就如同创建函数时使用的def定义一个函数一样;缩进的地方有一个装载着列表的变量formula,在类里面赋值的变量就是类的.
2021-08-11 18:39:39
71
原创 打卡day11 python基础-元组
"""元组可以理解成一个稳固版的列表,因为元组是不可能修改的,因此在列表中的存在的方法均不可以使用在元组上,但是元组是可以被查看索引的,方式就和列表一样"""letters = ('a','b','c','d','e','f','g')print(letters[0])打印结果:a"""每一个集合中的元素是无序的、不重复的任意对象,我们可通过集合去判断数据的从属关系,有时还可以通过集合把数据结构中重复的元素减掉集合不能被切片也不能被索引,除了做集合运算之外,集合元素可以被.
2021-08-10 17:05:54
140
原创 打卡day11 python基础-字典
字典的特征字典中数据必须是以键值对的形式出现的;逻辑上讲,键是不能重复的,而值可以重复;字典中的键(key)是不可变得,也就是无法修改的;而值(value)是可变的,可修改的,可以是任何对象。# 将一个可变(mutable)的元素作为key来构建字典,比如列表:,打印这两条语句会报错,记住key和value是一一对应的,key是不可变的;key_test = {[]:'a Test'}print(key_test)打印结果:Traceback (most recent call .
2021-08-10 10:37:20
215
原创 打卡day10 python基础—掷骰子小游戏
import random"""构造可以摇骰子的函数roll_dice,这个函数其实并不需要输入任何参数,调用后会返回储存着摇出来三个点数结果的列表创建函数,设定两个默认参数作为可选,numbers—骰子数量,points—三个筛子的点数的列表"""def roll_dice (numbers = 3,points = None): """告知用户开始摇骰子""" print('*****PLAY THE DICE*****') # """如果参数中并未指定points.
2021-08-06 17:37:23
457
原创 打卡day09python基础—while循环
python 中的另一种循环,和for循环相同点在于都能循环做一件重复的事情,不同点在于 for 循环会在可迭代的序列被穷尽的时候停止,while则是在条件不成立的时候停止while的作用就是:只要..条件成立,就一直做....# Python的while循环与if条件分支类似,不同的是,只要条件为真, while循环会一直重复执行一段代码,这段代码称为循环体。"""while 条件: 循环体"""while 1<3: print('1 小于 3')"""执...
2021-08-05 16:57:58
196
原创 打卡day08 python基础—函数升级篇
"""1、不需要file.txt这个文件,只需要知道电脑上桌面的路径2、第一段代码打开了桌面的file。txt这个文件3、第二段代码写入'Hello,World',w代表着如果桌面有file.txt这个文件就直接写入Hello,World,如果没有file.txt这个文件就创建一个"""file = open('/Users/issuser/Desktop/file.txt','w')file.write('Hello,World')打印结果:# 传入参数name和msg就可以控.
2021-08-04 16:23:47
100
原创 打卡day07 python基础—函数
# 1、创建和调用函数"""我们创建了一个函数,但是从来都不去调用它,那么这个函数里的 代码就永远也不会被执行。"""def myFirstFunction(): print('这是我创建的第一个函数')print('我表示很激动')print('在这里,我要努力学习')打印结果:我表示很激动在这里,我要努力学习...
2021-07-30 18:06:06
167
转载 打卡day06 python基础—常用的基础函数
Python:1. print()函数:打印字符串2. raw_input()函数:从用户键盘捕获字符3. len()函数:计算字符长度4. format(12.3654,'6.2f'/'0.3%')函数:实现格式化输出5. type()函数:查询对象的类型6. int()函数、float()函数、str()函数等:类型的转化函数7. id()函数:获取对象的内存地址8. help()函数:Python的帮助函数9. s.islower()函数:判断字符小写10. s.sppace()函
2021-07-29 18:27:04
86
原创 打卡day05 python基础—字符串
# 字符串基本用法what_he_does = ' plays'his_instrument = ' guitar'his_name = 'Robert Johnson'artist_intro = his_name + what_he_does + his_instrumentprint(artist_intro)打印结果:Robert Johnson plays guitar# 执行该代码段会报错num = 1string = '1'print(num + stri.
2021-07-29 18:24:56
112
原创 打卡day04 python基础—分支结构
# 在python中,使用if、elif和else关键字来构造分支结构。"""用户身份验证"""username=input('请输入用户名:')password=input('请输入密码:')if username == 'admin' and password == '123456': print('身份认证成功')else: print('身份认证失败,请重新输入')打印结果:请输入用户名:admin请输入密码:123456身份认证成功请输入用户名:2.
2021-07-28 15:43:47
92
原创 打卡day03 python基础—for循环
# Python的while循环与if条件分支类似,不同的是,只要条件为真, while循环会一直重复执行一段代码,这段代码称为循环体。# while 条件:# 循环体# i = 0# sum = 0# while i <= 100:# sum += i# i += 1"""如果上面代码的循环体中缺少i += 1语句,循环将永远也不会退出 (除非将程序强制关闭),也称为死循环。"""# print(sum)# for 变量 in 可迭代对象:所谓可迭.
2021-07-28 15:23:59
206
原创 打卡day02 python基础—列表
# type()函数用于返回指定参数的类型,list即列表的意思number = [1,3,2,6,7,'8a','A']print(type(number))a = range(5)print(list(a))# for each in (number):# print(each)# 创建一个空列表empty=[]"""append()方法只支持一个参数"""empty.append(1)print('更新后的列表',empty)print(type(empty).
2021-07-28 11:07:00
126
转载 主键、外键和索引的区别
主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键,外键可以有重复的,可以是空值 该字段没有重复值,但可以有一个空值 作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度 ...
2021-03-25 13:51:45
283
原创 打卡day01 python基础—常用数据类型
字符串字符串取值:字符串名[索引值]索引:从0开始标记字符串取多个值:切片 字符串名[索引头:索引尾:步长]步长默认为1案例:字符串s="hello!",利用切片,倒叙输出s的值,输出结果为!ollehprint(s[-1:-7:-1]) //步长为-1字符串的分割字符串.split(可以指定切割符号,切割次数)返回一个列表类型的数据,列表里面的子元素都是字符串类型s="hello!"print (s.split()) //split字符串切割函数.
2021-03-02 22:44:01
173
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人