...

摘要: [TOC] "返回: Pytest权威教程" 使用Marks标记测试用例 通过使用 你可以轻松地在测试用例上设置元数据。例如, 一些常用的内置标记: skip 始终跳过该测试用例 skipif 遇到特定情况跳过该测试用例 xfail 遇到特定情况,产生一个“期望失败”输出 parametrize 在 阅读全文
posted @ 2019-09-03 20:26 韩志超 阅读(3632) 评论(0) 推荐(0)
摘要: 返回: Pytest权威教程 Fixture函数:清晰 模块化 易扩展 2.0/2.3/2.4版本新函数 text Fixture函数的目的是为测试的重复执行提供一个可靠的固定基线。Fixture函数比经典的xUnit setUp/tearDown方法有着显着的改进: Fixture函数具有明确的名 阅读全文
posted @ 2019-09-03 20:23 韩志超 阅读(8087) 评论(2) 推荐(0)
摘要: [TOC] "返回: Pytest权威教程" 断言的编写和报告 使用assert语句进行断言 pytest允许你使用标准的Python 断言语句来验证测试中的期望结果和实际结果。 例如,你可以编写以下内容: 来断言你的函数返回一个特定的值。 如果此断言失败,你将看到函数调用的返回值: 支持显示常见的 阅读全文
posted @ 2019-09-03 20:21 韩志超 阅读(6271) 评论(0) 推荐(1)
摘要: [TOC] "返回: Pytest权威教程" 原有TestSuite的执行方法 Pytest可以与大多数现有的测试套件(testsuite)一起使用,但是它的加载方式方式不像nose或Python的默认单元测试框架的测试运行器(test runner)。 在使用本节之前,你需要安装pytest。 使 阅读全文
posted @ 2019-09-03 20:19 韩志超 阅读(5331) 评论(0) 推荐(0)
摘要: [TOC] "返回: Pytest权威教程" Pytest 使用及调用方法 使用python m pytest调用pytest 2.0版本新增 你可以在命令行中通过Python编译器来调用Pytest执行测试: 通过 调用会将当前目录也添加到 中,除此之外,这几乎等同于命令行直接调用 。 可能出现的 阅读全文
posted @ 2019-09-03 20:18 韩志超 阅读(16276) 评论(1) 推荐(4)
摘要: [TOC] "返回: Pytest权威教程" 安装及入门 Python支持版本 : Python 2.6,2.7,3.3,3.4,3.5,Jython,PyPy 2.3 支持的平台 : Unix/Posix and Windows PyPI包名 : pytest 依赖项 : py,colorama 阅读全文
posted @ 2019-09-03 20:16 韩志超 阅读(14192) 评论(0) 推荐(1)
摘要: 如有任何学习问题,可以添加作者微信:superz-han unittest, pytest, nose, robot framework对比 什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的。 在我们编写自动化脚本的时候,经常需要读取配 阅读全文
posted @ 2019-09-03 20:08 韩志超 阅读(1453) 评论(0) 推荐(0)
摘要: 如有任何学习问题,可以添加作者微信:superz-han HTTP,GET请求,无参 GET http://httpbin.org/get Python3 http.client import http.client # 1. 建立HTTP连接 conn = http.client.HTTPConn 阅读全文
posted @ 2019-09-03 20:04 韩志超 阅读(12083) 评论(0) 推荐(1)
摘要: 更多学习资料请加QQ群: 822601020获取 实现效果 需求场景: 1. 公司微服务接口使用数字签名的方式, 使用Postman调试接口每次都需要修改源码将验签临时关闭, 但是关闭后,其他微服务不能正常调用该服务 2. 从ELK中抓取到的接口参数, 需要Json格式化, 我通常使用Sublime 阅读全文
posted @ 2019-09-03 20:03 韩志超 阅读(2753) 评论(0) 推荐(0)
摘要: [TOC] 一、Python基础 Python简介、环境搭建及包管理 Python简介 1. 特点:Python是一门动态、解释型、强类型语言 1. 动态:在运行期间才做数据检查(不用提前声明变量) 静态语音(C/Java):编译时检查数据类型(编码时需要声明变量类型) 2. 解释型:在执行程序时, 阅读全文
posted @ 2019-09-03 20:02 韩志超 阅读(7989) 评论(2) 推荐(8)
摘要: HTTP, HTTPS协议 什么是DNS HTTP协议 怎么抓取HTTPS协议 说出请求接口中常见的返回状态码 http协议请求方式 HTTP和HTTPS协议区别 HTTP和HTTPS实现机有什么不同 POST和GET的区别 HTTP请求报文与响应报文格式 什么是Http协议无状态协议?怎么解决HT 阅读全文
posted @ 2019-09-03 19:20 韩志超 阅读(3574) 评论(0) 推荐(1)
摘要: 框架的最终归宿往往是领域语言+模板解析。 首先先约定一种所要执行操作的表述格式。然后通过模板解析将描述语言转化为代码进行执行。例如,我们可以使用以下yaml文件描述多个步骤并且需要关联的接口: : 其中, 为该接口或步骤的名称描述, 段是接口的信息,对应 的每一个参数, 和`method param 阅读全文
posted @ 2019-09-03 19:19 韩志超 阅读(573) 评论(0) 推荐(0)
摘要: 1. 列表统计 使用count获取单个字符出现次数 使用Counter的most_commom获取 出现次数最多的前几位 2. 字典键值的集合操作 字典的keys()支持 并集 交集 差集 等集合操作 当字典的values都是字符串(无嵌套)时,字典的items()也支持集合操作 断言字典a包含字典 阅读全文
posted @ 2019-09-03 19:17 韩志超 阅读(404) 评论(0) 推荐(0)
摘要: Python自带的json库可以把请求转为字典格式, 但在多层嵌套的字典中取值往往要进行多次循环遍历才能取到相应的数据, 如: 1. 获取所有用户名? 2. 如果users是动态的(有可能是users123,或users567)怎么获取下面的数据? 3. 怎么快说获取年龄大于20的用户? 这种类型的 阅读全文
posted @ 2019-09-03 19:16 韩志超 阅读(1925) 评论(0) 推荐(0)
摘要: 当业务处理比较耗时时, 接口一般会采用异步处理的方式, 这种异步处理的方式又叫Future模式. 一般流程 当你请求一个异步接口,接口会立刻返回你一个结果告诉你已经开始处理,结果中一般会包含一个任务id类似的东西用于追踪结果, 另外会提供一个 查询结果 的接口, 当结果未处理完查询接口会返回相应的" 阅读全文
posted @ 2019-09-03 19:15 韩志超 阅读(3095) 评论(2) 推荐(3)
摘要: 接口测试框架怎么搭建的? 你有没有做过框架稳定性优化相关的工作? 你们Mock是怎么做的? 异步接口怎么测试? 接口依赖怎么处理? 怎么做参数化? 持续继承怎么做的? Http协议 https测试点 购物车模块接口测试点分析 很多接口都需要登录怎么处理? 有没有用过getSession() resp 阅读全文
posted @ 2019-09-03 19:14 韩志超 阅读(553) 评论(0) 推荐(0)
摘要: Pycharm下载 下载链接: "https://www.jetbrains.com/pycharm/download/" 分为专业版和社区版,社区版也能满足学习需求 Pycharm专业版激活 1. 使用前请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中 2. 阅读全文
posted @ 2019-09-03 19:13 韩志超 阅读(802) 评论(0) 推荐(0)
摘要: 相比于curl命令,Httpie提供更清晰友好的界面,并支持授权,代理等操作 主要特性 直观的语法 格式化和色彩化的终端输出 内置 JSON 支持 支持上传表单和文件 HTTPS、代理和认证 任意请求数据 自定义头部 持久性会话 类 Wget 下载 支持 Python 2.6, 2.7 和 3.x 阅读全文
posted @ 2019-09-03 19:12 韩志超 阅读(381) 评论(0) 推荐(0)
摘要: curl命令使用 curl命令 curl命令是服务器端调试接口最常用的命令,没有之一 1. curl测试GET接口 url参数可以直接写到url中,此时url最好用引号引起来 2. 表单类Post请求 curl可以通过 指定 请求数据(包含 参数时,默认为Post请求),如 3. JSON格式Pos 阅读全文
posted @ 2019-09-03 19:11 韩志超 阅读(1323) 评论(0) 推荐(0)
摘要: 需求 经常我们在定义数据模板是需要预先埋设一些变量占位符, 如$name或{{name}}或%(name)s, 来便于做参数化替换. 这便需要使用字符串格式化,或者模板引擎(如Jinja2)来将你准备好的一批数据替换到模板指定的位置中去. Python自带的字符串格式化方式一般有3种: 1. 使用% 阅读全文
posted @ 2019-09-03 19:09 韩志超 阅读(2221) 评论(0) 推荐(0)
摘要: 目录 Selenium自动化测试基础 Selenium自动化测试第一天(上) Selenium自动化测试第一天(下) Selenium自动化测试第二天(上) Selenium自动化测试第二天(下) 更多学习资料请加添加作者微信:superz-han获取 什么是自动化测试? 自动化测试是把大量需要人工 阅读全文
posted @ 2019-09-03 19:06 韩志超 阅读(569) 评论(0) 推荐(0)
摘要: 需求 在Python Selenium 的 PageObject模式中,一般每个页面需要写一个类, 一种PageObject的写法如下: 对于一个成型的UI项目来说, 在编写用例前, 动辄要先编写数十上百个这种PageObject类. 鉴于每个PageObject类的格式相似, 可以采用 Page 阅读全文
posted @ 2019-09-03 18:57 韩志超 阅读(827) 评论(0) 推荐(2)
摘要: 一个学生在操作页面跳转时遇到一个Selenium报错, 如下图所示: 出错原因为: Selenium只能操作当前打开页面中的可见元素,当页面跳转, 前进, 后退, 或刷新后, 之前定位到的元素要重新定位才能使用. 可以尝试运行以下脚本, 查看报错信息: 阅读全文
posted @ 2019-09-03 18:56 韩志超 阅读(975) 评论(0) 推荐(0)
摘要: 在HTML中, 节点有三种常见属性, 分别是id, name和class, 其中class是一个特殊的属性, 支持多个类名, 以空格隔开, 如下图所示: 你是否注意到, 为什么selenium中的find_element_by_class_name, 是by_class_name而不是, by_cl 阅读全文
posted @ 2019-09-03 18:55 韩志超 阅读(1839) 评论(0) 推荐(0)
摘要: pycharm中导入selenium报错 现象: pycharm中输入 , 标红 原因1: pycharm使用的虚拟环境中没有安装selenium, 解决方法: 在pycharm中通过设置或terminal面板重新安装selenium 原因2: 当前项目下有 ,和系统包名冲突导致, 解决方法,重命名 阅读全文
posted @ 2019-09-03 18:54 韩志超 阅读(4844) 评论(0) 推荐(1)
摘要: Script(JS)为Postman赋予无限可能 基于Postman 6.1.4 Mac Native版 演示结合 "user_api_demo" 实现 PS 最近接到任务, 要把几种基本下单接口调试和持续集成一下, 做个常规功能验证, 研究了下发现, 不同的下单途径, 有的需要登录(Session 阅读全文
posted @ 2019-09-03 18:50 韩志超 阅读(761) 评论(0) 推荐(0)
摘要: 作为一款接口调试利器, Postman的更新迭代速度很快, 不断加入了很多新的功能.使的api设计,测试,监控, Mock,以及团队协作更加方便. 修改执行顺序 在遇到有接口依赖的情况, 我们往往需要接口按顺序执行, 之前可以通过在一个请求的Pre request Scripts中使用pm.send 阅读全文
posted @ 2019-09-03 18:49 韩志超 阅读(4530) 评论(2) 推荐(1)
摘要: 基础 Python中lambda是什么意思 Python中的pass是什么意思 作为解释型语言,Python如何运行 什么是Python的单元测试 在Python中unittest是什么 如何将数字转换为字符串 什么是Python中的模块和包 解释如何在Python中生成随机数字 在Python中如 阅读全文
posted @ 2019-09-03 18:48 韩志超 阅读(676) 评论(0) 推荐(0)
摘要: ## 装饰器的应用场景 - 附加功能 - 数据的清理或添加: - 函数参数类型验证 @require_ints 类似请求前拦截 - 数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改 - 为函数提供额外的数据 mock.patch - 函数注册 - 在任务中心注册一个任务 - 注册 阅读全文
posted @ 2019-09-03 18:47 韩志超 阅读(4557) 评论(2) 推荐(0)
摘要: 括号匹配是栈应用的一个经典问题, 题目 判断一个文本中的括号是否闭合, 如: text = "({[({{abc}})][{1}]})2([]){({[]})}[]", 判断所有括号是否闭合 思路 1. 使用栈后进先出的原则, 当字符是 之一时, 入栈 2. 当字符是 之一时, 判断栈顶与当前字符是 阅读全文
posted @ 2019-09-03 18:43 韩志超 阅读(1531) 评论(1) 推荐(0)
摘要: 题目: 给出一个字符串, 判断其是否是是合法的IP(IPv4)地址 思路 1. 将字符串按"."分割成4段得到一个列表 2. 逐个判断列表中的字符串是否数字格式并且在0~255之间, 是在新列表对应位置保存True, 不是保存False 3. 判断新列表中是否有False 实现代码 !/usr/bi 阅读全文
posted @ 2019-09-03 18:43 韩志超 阅读(4505) 评论(0) 推荐(0)
摘要: 目录 "Appium环境搭建" "Mac iOS环境搭建" "Appium基础" "Appium进阶" Monkey的使用 参数: p v s throttle ignore crashes: 忽略崩溃 ignore timeouts: 忽略ANR ignore security exception 阅读全文
posted @ 2019-09-03 18:41 韩志超 阅读(2395) 评论(0) 推荐(0)
摘要: 目录 "Appium环境搭建" "Mac iOS环境搭建" "Appium基础" "Appium进阶" Appium简介 Appium是一款开源的Appium自动化工具, 基于Webdriver协议, 主要有以下3个特点: 1. 全能: 支持iOS/Andorid/H5/混合App/WinApp 2 阅读全文
posted @ 2019-09-03 18:40 韩志超 阅读(13161) 评论(0) 推荐(0)
摘要: 目录 "Appium环境搭建" "Mac iOS环境搭建" "Appium基础" "Appium进阶" 环境搭建 1. 安装brew 2. 安装java 3. 安装python3 及相关包 4. 安装git, nodejs 5. 配置cnpm 6. 安装appium 7. 安装appium doct 阅读全文
posted @ 2019-09-03 18:39 韩志超 阅读(1661) 评论(0) 推荐(2)
摘要: 目录 "Appium环境搭建" "Mac iOS环境搭建" "Appium基础" "Appium进阶" 课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 1. 安装JDK 阅读全文
posted @ 2019-09-03 18:39 韩志超 阅读(1632) 评论(0) 推荐(1)
摘要: 在使用unittest框架时,我们常常需要下载一个 用来生成HTML格式的报告,那么我们能不能自己实现一个呢? HTMLRunner是模仿unittest自带的TextTestRunner()实现的,我们先来看看TextTestRunner()的运行流程。 TextTestRunner使用方法 运行 阅读全文
posted @ 2019-09-03 18:38 韩志超 阅读(972) 评论(0) 推荐(0)
摘要: 在用例组织上,unittest的Test Suite的拥有非常好的灵活性,然而Test Suite一般要提前编制好,添加和组织用例必须使用代码,不方便使用。 本文使用 Flask + unittest.TestSuite + pickle搭建一个简单的unittest用例挑选和执行平台。 思路: 添 阅读全文
posted @ 2019-09-03 18:37 韩志超 阅读(825) 评论(0) 推荐(0)
摘要: 参考: "https://www.cnblogs.com/yoyo008/p/9232805.html" 在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图: 在Django Admin中每个模型的Admin类(继承至admin.ModelAdmin), 我们可以通过 阅读全文
posted @ 2019-09-03 18:34 韩志超 阅读(3681) 评论(0) 推荐(0)
摘要: 参考: "https://books.agiliq.com/projects/django admin cookbook/en/latest/export.html" 在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图: 在Django Admin中每个模型的Admi 阅读全文
posted @ 2019-09-03 18:33 韩志超 阅读(819) 评论(0) 推荐(0)
摘要: ## 目录 - [Django从Models 10分钟建立一套RestfulApi](https://www.cnblogs.com/superhin/p/11454749.html) - [Django从Models 10分钟定制一个Admin后台](https://www.cnblogs.com 阅读全文
posted @ 2019-09-03 18:32 韩志超 阅读(1088) 评论(0) 推荐(0)
摘要: 目录 Django从Models 10分钟建立一套RestfulApi Django从Models 10分钟定制一个Admin后台 简介 Django是一套完善而强大的web开发框架, 结合Django Restframework我们可以非常快的搭建一套后台的api, 该api主要特点: 标准的Re 阅读全文
posted @ 2019-09-03 18:32 韩志超 阅读(1099) 评论(0) 推荐(0)
摘要: Numpy学习笔记 ndarray多维数组 创建 数组创建函数 arange ones/ones_like zeros/zeros_like empty/empty_like eye/identity 属性 ndim: 轴的个数 shape: 数组的维度 size: 元素总个数 dtype: 数据类 阅读全文
posted @ 2019-09-03 18:26 韩志超 阅读(518) 评论(0) 推荐(0)
摘要: [TOC] 运行环境: pip insall pytest pytest bdd pytest selenium BDD介绍 BDD行为驱动是一种敏捷开发模式, 重点在于消除开发/测试对需求了解的歧义及用户场景的验证. 需求描述/用户场景 BDD提供一套标准的需求及用户场景表达语法, 一般为Feat 阅读全文
posted @ 2019-09-03 18:24 韩志超 阅读(8273) 评论(2) 推荐(0)
摘要: 今天同事向我推荐Django 2 By Example这本书,我笑着说,这本书的中文翻版我早已看完并实践了上面的每一个项目,并且我是从Django By Example第一版的中文译文便开始学习的。 然后我向他推荐了柚子小站的中文译版。同事和我看了柚子小站博主的1年半的全栈历程,从计算机原理到Lin 阅读全文
posted @ 2019-09-03 01:31 韩志超 阅读(317) 评论(0) 推荐(0)