08 2021 档案
摘要:前言 pytest 运行用例的时候,一般用命令行去执行,可能是之前深受 unittest 框架的影响,习惯在项目的根目录下写一个 run_all.py 的文件。【使用pytest测试框架一般使用pytest.ini主文件指定运行测试用例;详细查看:https://www.cnblogs.com/hl
阅读全文
摘要:前言 TestSuite一直是unittest的灵活与精髓之处,在繁多的测试用例中,可以任意挑选和组合各种用例集,比如smoke用例集、level1用例集、webtest用例集、bug回归用例集等等,当然这些TestSuite需要我们提前定义好,并把用例加载进去。 Pytest采取的是完全不同的用例
阅读全文
摘要:前言 emoji也属于字符串的范围。 Emoji是用于电子信息和网页的表意文字和表情符号,起源于20世纪90年代。 安装 pypi 有现成的库 emoji 来处理 emoji 字符串: pip install emoji 函数列表 demojize: 将unicode emoji替换为字符串简码用于
阅读全文
摘要:os.system 1、如果想在cmd执行python脚本,可以直接用如下指令: python [xx.py绝对路径] 比如我写了个hello.py的脚本,在脚本里面写入内容: print("hello world!") ,放到d盘目录路径为:d:\hello.py 2、 os.system 用来执
阅读全文
摘要:--setup-show查看fixture的执行过程 前言 使用命令行运行 pytest 用例的时候,看不到 fixture 的执行过程。如果我们想知道fixture的执行过程和先后顺序,可以加上 --setup-show 命令行参数,帮助查看 fixture 的执行过程。 --setup-show
阅读全文
摘要:前言 1、pytest 运行全部用例的时候,在控制台会先显示用例的运行结果(.或F);等待用例全部运行完成后最后把报错信息全部一起抛出到控制台。 2、这样我们每次都需要等用例运行结束,才知道为什么报错,不方便实时查看报错信息。 3、 pytest-instafail 插件可以在运行用例的时候,可以实
阅读全文
摘要:安装 pip install pytest-emoji 使用方法 pytest -vs --emoji 示例 执行测试用例的时候,就会在每条用例执行结果的后面添加一个萌萌哒的表情。 重写表情 当然如果不喜欢这类的表情,也可以直接在conftest.py模块中进行重写: # 重写pytest-emoj
阅读全文
摘要:前言 ①在我们做接口自动化的时候,很经常会有一个指标是找出一些耗时的接口,从而告知开发这些接口需要优化。 ②由于某些测试用例步骤长,执行时间比较久,为了防止程序长时间处于等待状态,浪费宝贵时间。为此,我们可以设置一个超时时间,当测试在指定的时间长度内没有完成(即使程序并没有“僵死”,只是处理得比较慢
阅读全文
摘要:前言 在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。 安装 pip3 install pytest-sugar 实例 def test_s1(): pr
阅读全文
摘要:前言: 1、locals() 和 globals()两个函数主要提供,基于字典的访问局部和全局变量的方式。 2、Python 中的名字空间概念:Python 使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。 3、实际上,名字空间可以像 Py
阅读全文
摘要:1、pip的版本为 9.0.3 想用 pip install -U pip 更新下包,但是在更新过程中出现了报错,如下所示: 2、然后尝试用pip install pandas包,提示 ModuleNotFoundError: No module named 'pip' 3、这个错误导致 pip找不
阅读全文
摘要:前言 在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数。加密规则一般开发也不愿意告诉你,会直接给你一个jar包,让你调用jar包得到加密值,在jmeter上是可以直接引用jar包的,但python调用jar包会有点麻烦。 环境准备 电脑环境 windows10 python3.6.
阅读全文
摘要:前言 1、"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败",这是在做接口测试经常遇到的问题。 2、异常信息: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.github.com', por
阅读全文
摘要:前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,显然是不合理的。 当然,如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间。具体查看该博客:https://www.cnblogs.com/hls-code/p/14861813.ht
阅读全文
摘要:前言 面试必问:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例a的结果【response】,给用例b使用【body】。 unittest框架的每个用例都是独立的,测试数据共享的话,需设置全局变量,可以使用 globals() 函数来解决。 global
阅读全文
摘要:前言 当我们使用allure生成测试报告之后,我们再修改测试用例,然后再次运行生成测试报告会发现测试报告中保留了上一次用例的运行记录。【默认allure测试报告不会清理之前的原始数据;而原来的原始数据会在最新的allure测试报告中显示历史用例执行结果】 如果我们不想看到原来的用例执行记录,而是生成
阅读全文
摘要:前言 执行测试用例时,有的时候我们希望能够更加灵活的指定执行某些测试用例,pytest支持我们通过使用marker装饰器@pytest.mark来实现这个需求,而allure也同样提供了三种类似的方法来实现这个需求。 allure的三种方式: BDD(行为驱动开发)的风格标记:Epics、Featu
阅读全文
摘要:前言 allure测试报告框架提供了@allure..link、@allure.issue、@allure.testcase 这三个装饰器,可以用来与缺陷管理系统和测试管理系统集成。 三个装饰器源码 def link(url, link_type=LinkType.LINK, name=None):
阅读全文
摘要:前言 通过使用装饰器@allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。 allure.title的三种使用方式: 直接使用@allure.title为测试用例自定义标题; @allure.title支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标
阅读全文
摘要:前言 allure支持往测试报告中对测试用例添加非常详细的描述语用来描述测试用例详情;这对阅读测试报告的人来说非常的友好,可以清晰的知道每个测试用例的详情。 allure添加描述的三种方式: 使用装饰器@allure.description,传递一个字符串参数来描述测试用例。 使用装饰器@allur
阅读全文
摘要:前言 allure测试报告同样支持显示不同类型的附件,对测试用例、测试步骤以及fixture函数的结果加以补充。 allure.attach() 或者 allure.attach.file 的作用是为allure测试报告的测试用例执行结果添加附件。 allure.attach的用法一:(最常用) 语
阅读全文
摘要:get提交 一、客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的? 1、对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:8080/servlet?msg=abc 2、很常见的一个乱码问题就要出现了,如果url中出现中文或
阅读全文
摘要:前言 计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。 其中硬件领域的端口又称接口,如:USB端口、串行端口等。【可以理解为每一个端口(接口)都代表了该计算机上的一个服务或者输入的硬件功能】 软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件
阅读全文
摘要:前言: 1、要实现断点续传下载文件,首先要了解断点续传的原理:断点续传其实就是在上一次下载断开的位置开始继续下载。 2、HTTP协议中,可以在请求报文头中加入Range段,来表示客户机希望从何处继续下载。 3、在以前版本中HTTP协议是不支持断点的,HTTP/1.1开始就支持了,一般断点下载时才用到
阅读全文
摘要:Socket定义 1、Socket即套接字,是一个对 TCP / IP协议进行封装的编程调用接口(API) 即通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发。 Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)。 2、
阅读全文
摘要:前言 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。【套接字,是一个对 TCP / IP协议进行封装 的编程调用接口(API)】 socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”
阅读全文
摘要:HTTP无状态: 无状态是指协议对于事务处理没有记忆能力,不能保存每次客户端提交的信息,即当服务器返回应答之后,这次事务的所有信息就都丢掉了。如果用户发来一个新的请求,服务器也无法知道它是否与上次的请求有联系。 实例解释HTTP的无状态性: 一个包含多图片的网页的浏览: (1)建立连接,客户端发送一
阅读全文
摘要:1、HTTP/1.1默认持久连接和流水线 HTTP/1.1默认使用持久连接,只要客户端服务端任意一端没有明确提出断开TCP连接,就一直保持连接,在同一个TCP连接下,可以发送多次HTTP请求。 同时,默认采用流水线的方式发送请求,即客户端每遇到一个对象引用就立即发出一个请求,而不必等到收到前一个响应
阅读全文
摘要:一、Last-Modified和If-Modified-Since 简单地说,Last-Modified和If-Modified-Since都是用于记录页面最后修改时间的HTTP头信息,只是Last-Modified是由服务器向客户端发送的HTTP响应头;而If-Modified-Since则是由客
阅读全文
摘要:前言 我们在访问百度首页的时候,会发现不管怎么刷新页面,静态资源基本都是返回 200(from cache): 随便点开一个静态资源是这样的: 问题: 有Response响应报头数据,看来服务器也正常返回了etag什么鬼的应有尽有,那状态200不是应该对应的非缓存状态么?要from cache的话不
阅读全文
摘要:A、通用首部字段(请求报文与响应报文都会使用的首部字段) Date:创建报文时间 Connection:连接的管理 Cache-Control:缓存的控制 Transfer-Encoding:报文主体的传输编码方式,如Transfer-Encoding: chunked。 B、请求首部字段(请求报文
阅读全文
摘要:HTTP请求报文主要由请求行、请求头(首部)、空行、请求正文(Get请求没有请求正文)4部分组成。 1、请求行 由三部分组成,分别为:①请求方法、②URL以及③协议版本;之间由空格分隔; 请求方法包括GET、HEAD、PUT、POET、TRACE、OPTIONS、DELETE以及扩展方法,当然并不是
阅读全文
摘要:报错信息: Another git process seems to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated
阅读全文
摘要:报错信息: CONFLICT(content):Merge conflict in XXXX/.DS_Store. AutoMatic merge failed;fix conflicts and then commit the result. 报错含义: 冲突内容:合并冲突在 XXXX.DS_St
阅读全文
摘要:前言 在编写自动化测试用例的时候经常会遇到需要编写流程性测试用例的场景,一般流程性的测试用例的测试步骤比较多,我们在测试用例中添加详细的步骤会提高测试用例的可阅读性。 allure提供的装饰器@allure.step()是allure测试报告框架非常有用的功能,它能帮助我们在测试用例中对测试步骤进行
阅读全文
摘要:前言 我们可以通过pytest-html插件来生成测试报告,但是pytest-html插件生成的测试报告不够美观,逼格也不够高,通过allure生成的测试报告是比较美观的,花里胡哨的,能够提升一个level。 allure官网: https://docs.qameta.io/allure/ allu
阅读全文
摘要:前言 Allure介绍 Allure是一款测试报告框架,不仅报告美观,而且方便CI集成。 allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比如:java的Junit、TestNG;python的pytest等。 allure会将测试用例的执行数据保存
阅读全文
摘要:一、Http协议的优点与缺点 前言: 什么是HTTP? 超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。 HTTP发展历
阅读全文
摘要:官方介绍 1、Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信息。 2、从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分
阅读全文
摘要:一、查看allure 命令的帮助文档 allure -h allure 命令的语法格式 allure [options] [command] [command options] options 列表 Options: --help 命令行帮助文档 -q, --quiet 切换至安静模式 Defaul
阅读全文