grequests高性能的HTTP客户端-grequests
关于 grequests 众所周知,requests 出于 K神 之手,但它是串行的,在并发场景下效率会受到阻塞的影响而变得低下。他一度认为程序是为人设计的,这不,当人们需要异步发送请求,提高请求效率的时候,他又推出了全新的 grequests 库(仅 100 多行代码)。 grequests 是基于 gevent 和 requests 开发的,效…
GUI经典实践-网速测试小工具-1-gui-1
关于 SpeedTest speedtest 是世界上流行的网速测试平台,python 有其对应的库名为 speedtest-cli。我们可以使用其客户端进行网络测试,也可以使用类对象用代码去测试。我们执行 pip3 install speedtest-cli 即可安装。 网速测试小工具 代码 from speedtest_cli import S…
HttpRunner-1-初识-httprunner-1
1、什么是 HttpRunner? HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。 2、安装 HttpRunner # 安装稳定版本 pip install httprunner # 安装最新版本 pip instal…
Gevent超好用的协程库-gevent
背景 因为 Python 线程的性能问题,在 Python 中使用多线程运行代码经常不能达到预期的效果。而实际开发中我们经常有高并发的需求,这就要求我们的代码在跑的更快的同时需要单位时间内执行更多的有效逻辑、减少无用的等待。 什么是协程? 我们可以认为线程是轻量级的进程,所以你也可以理解协程是轻量级的线程。协程即在一个线程执行 A 函数时可以随时中…
HttpRunner-2-用例组织-httprunner-2
测试用例格式 HttpRunner 的测试用例支持两种文件格式:YAML 和 JSON。 JSON 和 YAML 格式的测试用例完全等价,包含的信息内容也完全相同。 对于选择哪种格式取决于您的心情。 测试用例结构 在 HttpRunner 中,测试用例组织主要基于三个概念: 测试套(testsuite):对应一个文件夹,包含一个或者多个测试用例文件…
HttpRunner-3-Hook-httprunner-3
什么是 hook? hook 俗名钩子函数,就是在特定情况下才会触发的 Api。 举个 hook 栗子 就像你用银行卡去 ATM 机取钱,当你在执行取钱的动作过程中会触发一个名为 msg 的钩子函数,而这个 msg 钩子函数就会执行像你手机发送短信的动作。 即:在取钱动作成功发生的时候会触发发送短信的钩子函数。 hrun 中的 hook 和其他测试…
HttpRunner-4-Extract-httprunner-4
什么是 extract extract 顾名思义,我们就可以猜到其实用来做数据提取和引用的。 使用场景 通常,测试框架中都有获取数据并且将其存储到变量的机制。httprunner 也不例外,extract 就是用来提取变量并且供后续步骤使用。 在接口测试中,大多数接口都是需要鉴权的,而我们不可能在每个测试步骤,甚至测试用例中重复进行 token 的…
HttpRunner-5-DebugTalk-httprunner-5
什么是 debugtalk 在前面的文章中我们已经介绍过 httprunner 的项目结构。debugtalk.py 是用来表示项目根目录的,同时我们也能在其中自定义一些方法供 api 和 case 使用。 debugtalk 用于 hook 详情查看:HttpRunner-03-hook debugtalk 用于数据传递 前面的 HttpRunn…
HttpRunner-6-环境变量-httprunner-6
为什么要用环境变量 在自动化测试中,有时需要借助环境变量实现某些特定的目的,常见的场景包括: 切换测试环境 切换测试配置 存储敏感数据(从信息安全的角度出发) 设置环境变量 Linux 中 使用 export 命令 $ export UserName=admin $ echo $UserName admin $ export Password=12…