07 2021 档案

摘要:前言 朋友圈点赞怎么测试? 朋友圈评论怎么测试? 抖音评论怎么测试? 微信发红包怎么测试? 微信发朋友圈怎么测试? 登录功能怎么设计测试用例? 。。。。。。 回答方法 首先不要一上来就按照自己的使用经验具体回答场景的功能。这样会导致说出几条之后可能就想不出其他的。 我们应该从以下几个方法去思考和设计 阅读全文
posted @ 2021-07-30 10:00 习久性成 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:前言 1、这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文测试用例失败后续的用例会被标识为跳过执行,相当于执行了 pytest.mark.skip 2、dependency可作用的范围有:session、package、module、class 3、安装 pip inst 阅读全文
posted @ 2021-07-28 13:07 习久性成 阅读(1214) 评论(0) 推荐(0) 编辑
摘要:pytest的Hook函数详解 Hook函数的定义 ①Hook函数又称为钩子函数,它的作用可以理解成钩住自己喜欢的东西,然后对自己喜欢的东西单独做一些其他的处理。 ②钩子函数/hook函数: 1、是个函数,在系统消息触发时被系统调用 2、不是用户自己触发的 3、使用时直接编写函数体 4、钩子函数的名 阅读全文
posted @ 2021-07-28 08:47 习久性成 阅读(2902) 评论(0) 推荐(0) 编辑
摘要:前言 pytest测试框架提供的很多钩子函数方便我们对测试框架进行二次开发,可以根据自己的需求进行改造。 例如:钩子方法:pytest_runtest_makereport ,可以更清晰的了解测试用例的执行过程,并获取到每个测试用例的执行结果。 pytest_runtest_makereport方法 阅读全文
posted @ 2021-07-27 12:52 习久性成 阅读(6483) 评论(1) 推荐(1) 编辑
摘要:前言 官方文档中request的描述:request是pytest的内置fixture函数;为请求对象提供对请求测试上下文的访问权,并且在fixture函数被间接参数化的情况下具有可选的"param"属性。 对这句话的解读: request 函数是pytest中的内置fixture函数,可以在自定义 阅读全文
posted @ 2021-07-27 11:03 习久性成 阅读(3032) 评论(1) 推荐(2) 编辑
摘要:前言 pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。 pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 【严格意义上来说,我们在用例设计原则上用例就不要有依赖顺序,这样 阅读全文
posted @ 2021-07-26 21:30 习久性成 阅读(2129) 评论(0) 推荐(0) 编辑
摘要:前言 设计测试用例有时候需要自定义测试用例的执行顺序,我们使用pytest的插件 pytest-ordering 来控制测试用例的执行顺序。 【 pytest_ordering 插件,但是只能针对某一个 test 文件的多条用例有效,对多个 test 文件不起作用】 下载 pip install p 阅读全文
posted @ 2021-07-26 12:52 习久性成 阅读(757) 评论(3) 推荐(1) 编辑
摘要:前言 pytest使用assert来做断言,但是assert断言是一旦遇到断言失败的测试用例后,后面的代码就不会再执行了。 但有的时候我们经常会在用例中写多个断言,并且希望在第一个断言失败后,后面的所有的断言都能继续执行完,这就需要用到 pytest-assume 插件来解决。 背景 使用pytes 阅读全文
posted @ 2021-07-26 12:39 习久性成 阅读(878) 评论(0) 推荐(1) 编辑
摘要:前言 pytestconfig 是pytest框架的一个内置fixture函数,可以获取上下文,它的作用跟 request.config 是一样的,代表pytest配置对象。 参照博客:pytest之内置fixture函数之request详解(request.params && request.co 阅读全文
posted @ 2021-07-26 12:27 习久性成 阅读(1052) 评论(0) 推荐(1) 编辑
摘要:conftest.py是什么? conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。 conftest.py使用场景 如果我们有很多个前置函数,写在各 阅读全文
posted @ 2021-07-23 16:41 习久性成 阅读(791) 评论(0) 推荐(1) 编辑
摘要:前言 setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的; 如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。 fixtur 阅读全文
posted @ 2021-07-22 21:28 习久性成 阅读(529) 评论(0) 推荐(1) 编辑
摘要:钩子函数之 pytest_addoption介绍: ① pytest_addoption 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】 ② pytest_addoption 钩子函数一 阅读全文
posted @ 2021-07-22 21:13 习久性成 阅读(3878) 评论(0) 推荐(0) 编辑
摘要:前言 我们平时在做测试的时候经常会遇到网络抖动,导致测试用例执行失败,重新执行后用例又执行成功了;有时候还会遇到功能不稳定,偶尔会出现bug,我们经常需要反复多次的运行用例,从而来复现问题。pytest-repeat插件就可以实现重复运行测试用例的功能。 pytest-repeat安装 pip in 阅读全文
posted @ 2021-07-21 19:17 习久性成 阅读(1711) 评论(0) 推荐(0) 编辑
摘要:当我们对测试用例进行参数化时,使用@pytest.mark.parametrize的ids参数自定义测试用例的标题,当标题中有中文时,控制台和测试报告中会出现Unicode编码问题,这看起来特别像乱码,我们想让中文正常展示出来,需要用到pytest框架的钩子函数pytest_collection_m 阅读全文
posted @ 2021-07-21 18:38 习久性成 阅读(214) 评论(0) 推荐(0) 编辑
摘要:前言: ids 含义:用例的ID 格式:传一个字符串列表 作用:可以标识每一个测试用例,自定义测试数据结果的显示,为了增加可读性 强调:ids列表的长度需要与测试数据列表的长度一致 pytest使用装饰器@pytest.mark.parametrize进行参数化后,在控制台或者测试报告中的测试用例标 阅读全文
posted @ 2021-07-21 16:54 习久性成 阅读(1202) 评论(0) 推荐(1) 编辑
摘要:一、pytest实现测试用例参数化(@pytest.mark.parametrize) @pytest.mark. parametrize装饰器可以实现对测试用例的参数化,方便测试数据的获取。 @pytest.mark. parametrize的基本使用: 方便测试函数对测试数据的获取。 方法: p 阅读全文
posted @ 2021-07-21 14:46 习久性成 阅读(2988) 评论(0) 推荐(1) 编辑
摘要:1、列表重复元素判定 以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。 def all_unique(lst): return len(lst)== len(set(lst)) x = [1,1,2,2,3,2,3,4,5,6] y = [1,2,3,4,5 阅读全文
posted @ 2021-07-21 13:13 习久性成 阅读(2006) 评论(0) 推荐(0) 编辑
摘要:HTTP的长连接和短连接详解(HTTP 请求头中的Connection字段) 前言: HTTP的长连接和短连接本质上是TCP的长连接和短连接。 HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据 阅读全文
posted @ 2021-07-15 15:40 习久性成 阅读(7103) 评论(0) 推荐(1) 编辑
摘要:前言 计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。 TCP/IP 是互联网相关的 阅读全文
posted @ 2021-07-15 15:06 习久性成 阅读(2176) 评论(0) 推荐(0) 编辑
摘要:前言: 1、普通下载 ①对于非文本请求,我们可以通过 Response 对象的 content 属性以字节的方式访问请求响应体。 【注意】这种模式只能下载小文件。因为在这种模式下,从服务器接收到的数据是一直储存在内存中,只有当 write 时才写入硬盘,如果文件很大,那么所占用的内存也是很大的。 ② 阅读全文
posted @ 2021-07-14 19:38 习久性成 阅读(4603) 评论(0) 推荐(0) 编辑
摘要:在使用fiddler抓包的时候,想要查看某一会话的请求方法get和post每次都是点开该请求,然后在Inspectors监控面板才能查看get和post请求方法,不太方便甚至很是麻烦。 如何设置在会话框能够直观地查看到每一个会话的请求方法? 一、添加会话框字段 1、在会话框第一列(#)右键点击,弹出 阅读全文
posted @ 2021-07-14 16:46 习久性成 阅读(558) 评论(0) 推荐(0) 编辑
摘要:前言 ①我们平时在写测试用例的过程中,有时会遇到【已知由于某些原因,某些场景是有问题的,或者是功能暂时没有实现】这种情况,那么测试用例执行的时候我们就知道这个测试用例会失败,也就是预期失败,这个时候我们就可以使用 @pytest.mark.xfail 装饰器来标记测试用例为预期失败函数。 ②当某个b 阅读全文
posted @ 2021-07-14 15:13 习久性成 阅读(451) 评论(0) 推荐(1) 编辑
摘要:面试: GET请求在URL中传送的参数是有长度限制的,而POST没有。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET参数通过URL传递,POST放在Request body中。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 阅读全文
posted @ 2021-07-14 13:38 习久性成 阅读(342) 评论(0) 推荐(0) 编辑
摘要:在 Shell 执行 pytest -h 可以看到 pytest 的命令行参数有这 10 大类,共 132 个 序号 类别中文名包含命令行参数数量 1 positional arguments 形参 1 2 general 通用 31 3 reporting 报告 18 4 collection 收 阅读全文
posted @ 2021-07-13 14:45 习久性成 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:前言 Python是一个脚本语言,被解释器解释执行。它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的) .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到, 阅读全文
posted @ 2021-07-13 10:31 习久性成 阅读(1747) 评论(0) 推荐(0) 编辑
摘要:pytest之fixture之yield关键字实现teardown用例后置操作 前言 ①pytest之fixture函数使用(pytest测试框架测试固件 文中讲到,fixture函数是通过scope参数来控制setup级别; ②既然有setup函数作为用例之前的操作,测试用例执行完成之后那肯定也有 阅读全文
posted @ 2021-07-12 18:25 习久性成 阅读(263) 评论(0) 推荐(1) 编辑
摘要:前言 JsonPath是一种信息抽取类库,用来解析多层嵌套的json数据,是从JSON文档中抽取指定信息的工具,提供多种原因实现保本:JavaScript/Python/PHP和Java。 JsonPath 对于 JSON 来说,相当于 XPath 对于 XML。 安装 pip install js 阅读全文
posted @ 2021-07-09 21:06 习久性成 阅读(775) 评论(0) 推荐(0) 编辑
摘要:python模块详解 1、模块是什么: Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。 模块能定义函数 阅读全文
posted @ 2021-07-08 14:20 习久性成 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:pickle模块 pickle模块: pickle模块是python语言的一个系统内置模块,安装python后已包含pickle库,不需要单独再安装。 pickle模块的特点: 1、只能在python中使用,只支持python的基本数据类型,是python独有的模块。 2、序列化的时候,只是序列化了 阅读全文
posted @ 2021-07-08 14:06 习久性成 阅读(872) 评论(0) 推荐(0) 编辑
摘要:Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。 demjson模块提供用于编码或解码用语言中性JSON格式表示的数据的类和函数(这在ajax Web应用程序中通常被用作XML的简单替代品)。此实现尽量尽可能遵从JSO 阅读全文
posted @ 2021-07-08 13:30 习久性成 阅读(843) 评论(0) 推荐(0) 编辑
摘要:JSON 库 使用 JSON 库需要导入 json 库: import json 函数描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 json.dumps json.dumps 用于将 Pyth 阅读全文
posted @ 2021-07-08 11:04 习久性成 阅读(324) 评论(0) 推荐(0) 编辑
摘要:pytest之测试报告插件(pytest-html) 前言 我们在测试完成之后需要查看测试用例的执行结果,pytest-html就可以帮助我们在测试完成后生成html格式的测试报告,pytest-html是一个插件,pytest可以使用pytest-html来生成html测试报告。 pytest-h 阅读全文
posted @ 2021-07-07 21:12 习久性成 阅读(1566) 评论(0) 推荐(3) 编辑
摘要:前言 pytest.ini文件是pytest的主配置文件;可以改变pytest的运行方式;它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 pytest.ini文件的位置一般放在项目的根目录下,不能随便放,也不能更改名字。 查看pytest.ini文件的配置选项 cmd 阅读全文
posted @ 2021-07-07 21:04 习久性成 阅读(2584) 评论(0) 推荐(1) 编辑
摘要:前言: 实战项目:jeecg boot项目 项目官网:http://www.jeecg.com 接口1:登录接口 接口2:首页获取最近一周ip访问 postman获取token并设置token依赖步骤: 1.创建测试环境 2.创建两个接口 3.登录获取token { "username":"admi 阅读全文
posted @ 2021-07-07 16:32 习久性成 阅读(1868) 评论(0) 推荐(1) 编辑
摘要:前言: 在postman中编写断言是在Tests中,在Tests中定义一个变量,把服务端返回的响应数据存储到一个变量中,然后进行断言的处理。 postman断言实例: 解析: 在以上Tests中,断言主要有三部分,分别是①HTTP的响应状态码,②API服务器响应后的响应数据中data的值,③API服 阅读全文
posted @ 2021-07-07 15:50 习久性成 阅读(297) 评论(0) 推荐(0) 编辑
摘要:单元测试框架基本上都具有setup和teardown的功能; setup用来实现用例执行前的一些操作(如:数据准备、打开浏览器等操作); teardown用来实现用例执行完成之后的一些操作(如:数据清理、关闭浏览器等操作)。 pytest作为一款强大的测试框架同样也有setup和teardown语法 阅读全文
posted @ 2021-07-06 21:06 习久性成 阅读(276) 评论(0) 推荐(0) 编辑
摘要:环境前提: 只有同时满足一下先决条件才能使用pytest-rerunfailures ①python的版本不能过低; ②pytest 5.0或更高版本; 背景: 平时在做接口测试的时候,经常会遇到网络抖动或者环境问题导致测试用例运行失败,而这个并不是我们想要的结果; 我们想要重新运行失败的测试用例, 阅读全文
posted @ 2021-07-06 20:49 习久性成 阅读(439) 评论(0) 推荐(1) 编辑
摘要:pytest之多进程运行测试用例(pytest-xdist) 前言 平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完 当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间缩短一半,如果有10个小伙伴,那么执行 阅读全文
posted @ 2021-07-06 20:15 习久性成 阅读(2042) 评论(0) 推荐(2) 编辑
摘要:Exit code 0 :所有用例执行完毕,全部通过 Exit code 1:所有用例执行完毕,存在Failed的测试用例 Exit code 2:用户中断了测试的执行 Exit code 3:测试执行过程发生了内部错误 Exit code 4:pytest 命令行使用错误 Exit code 5: 阅读全文
posted @ 2021-07-06 17:56 习久性成 阅读(447) 评论(0) 推荐(0) 编辑
摘要:UI测试 1、UI设计是否符合设计稿 2、内容测试 输入框说明文字的内容与产品需求一致 是否有错别字 3、导航测试 不同的连接页面之间导航链接是否有效,是否跳转是否正确 4、图形测试 自适应界面设计,内容根据窗口大小自适应 旋转手机,确保程序不退出,页面排版无异常 功能测试 1、个人 登陆,注册 第 阅读全文
posted @ 2021-07-06 11:18 习久性成 阅读(1595) 评论(0) 推荐(0) 编辑
摘要:一.appium自动化基础软件: ①genymotion-2.11.0-vbox.exe :Genymotion是一款出色的跨平台的Android模拟器链接:https://pan.baidu.com/s/1SAHIe_k3g0TUCDS6uiETRw提取码:dv1k ②VirtualBox-5.2 阅读全文
posted @ 2021-07-06 09:31 习久性成 阅读(861) 评论(0) 推荐(0) 编辑
摘要:前言 在我们自动化测试过程中,经常会遇到功能阻塞、功能未实现、环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行恢复操作。 ① pytest.mark.skip 装饰器可以标记无法在某些平台上运行的测试功能,或者希望失败的测试功能 阅读全文
posted @ 2021-07-05 21:04 习久性成 阅读(763) 评论(0) 推荐(1) 编辑
摘要:1、模块说明 ①requests是使用Apache2 licensed 许可证的HTTP库。 ②用 python语言 编写。 ③比urllib2模块更简洁。 ④requests 支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和PO 阅读全文
posted @ 2021-07-05 13:52 习久性成 阅读(394) 评论(0) 推荐(0) 编辑
摘要:StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作。 一、StringIO中的常用方法 1、read 用法: s.read([n]):参数n用于限定读取的长度,类型为int,默认为从当前位置读取 阅读全文
posted @ 2021-07-05 11:16 习久性成 阅读(769) 评论(0) 推荐(0) 编辑
摘要:网络基础TCP/IP 备注:在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接; 该连接是由TCP来完成的,该协议与IP协议共建Internet,即著名的TCP/IP协议族,因此Internet又被称为TCP/IP网络。 HTTP是比TCP更高层次的应用协议,根据规则,只有低层 阅读全文
posted @ 2021-07-05 10:51 习久性成 阅读(136) 评论(0) 推荐(0) 编辑
摘要:HTTP请求方法和响应状态码详解 HTTP请求方法 HTTP1.0/1.1支持的所有请求方法如下所示: GET 用来请求访问已被URI识别的资源。指定的资源经服务器解析后返回响应内容。 POST POST方法用来传输实体的主体(一般是身份认证信息数据或者是请求服务的参数数据),虽GET方法也能做到, 阅读全文
posted @ 2021-07-02 16:53 习久性成 阅读(2380) 评论(0) 推荐(0) 编辑
摘要:一、r.text import requests r = requests.get('githubcom/timeline.json') print(r.text) {"message":"Hello there, wayfaring stranger. If you're reading this 阅读全文
posted @ 2021-07-02 13:31 习久性成 阅读(89) 评论(0) 推荐(0) 编辑
摘要:test session start:一段会话就是pytest的一次调用,他可能包括多个目录下被执行的测试用例 cachedir:pytest测试运行时的缓存文件夹【存放所有运行后的测试用例路径以及上一次运行失败的测试用例路径】 metadata:pytest测试运行时的所有设备或包信息元数据 ro 阅读全文
posted @ 2021-07-01 18:05 习久性成 阅读(225) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示