Fixture介绍 fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面.在编写测试函数的时候,可以将此函数名称做为传入参数,pytest将会以依赖注入方式,将该函数的返回值作为测试函数的传入参数. fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活. fixture是基于模块来执行的,每个fixture的名字就可以触发一个fixture的函数,它自身也可以调用其他的fixture. 我们可以把fixture看做是资源,在你的测试用…
自动化测试框架 - pytest pytest是Python最流行的单元测试框架之一, 帮助更便捷的编写测试脚本, 并支持多种功能复杂的测试场景, 能用来做app测试也能用作函数测试 官方文档: https://docs.pytest.org/en/latest/ pytest具有以下优点: 允许使用assert进行断言 自动识别测试脚本.类.函数 可用于管理小型或者参数类型的测试数据或资源 兼容unittest和nose测试框架 支持Python2.7/Python3.4+ 丰富的插件支持,超…
最近在学习web自动化,所以在这里总结一下pytest框架. 其实pytest 和 unittest 都是自动化测试框架,但是pytest更好用一些,有以下几个优点:1)可以根据标签执行用例:2)??? 一.首先需要安装pytest ,使用pip命令就可以: 二.pytest的标签功能:在用例前可以添加标签,如冒烟用例,XX用例.然后执行时可以选择仅执行冒烟用例: 三.用例的搜索规则: 在项目目录下执行pytest 命令:pytest会自动搜索以"*_test.py”或“test_*.py”命名…
这里我们单独来看下关于如何生存测试报告 准备测试代码如下: #coding: utf- import pytest @pytest.fixture() def login(): print '输入账号.密码登录' def test_step_1(login): print '用例步骤1:登录之后其它动作111' def test_step_2(): #不需要登录 print '用例步骤2: 不需要登录, 操作222' def test_step_3(login): print '用例步骤3:登录…
使用assert语句进行断言 pytest允许使用标准的python assert语法,用来校验expectation and value是否一致 代码演示: def func(): def test_func(): assert func() == 执行结果: (wda_python) bash-3.2$ pytest -q test_assert.py F [%] ================================================================…
iOS APP代码覆盖率统计 今年Q3季度领导给加了个任务要做前后端代码覆盖率统计, 鉴于对iOS代码代码比较熟就选择先从iOS端入手,折腾一整天后终于初步把流程跑通了记录如下 覆盖率监测的原理 Xcode中配置编译选项后, 编译后会为每个可执行文件生成对应的 .gcno 文件:之后在代码中调用覆盖率分发函数,会生成对应的 .gcda 文件. gcno:包含基本的块信息,以及代码行与块的映射关系: gcda:包含代码行执行的情况,以及覆盖率的信息归纳: 执行完测试后,提取goda并借助工具与gc…
废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中使用了101ms,考虑和频繁读写用例数据导致 环境与依赖 名称 版本 作用 python 3.7.8 pytest 6.0.1 底层单元测试框架,用来实现参数化,自动执行用例 allure-pytest 2.8.17 allure与pytest的插件可以生成allure的测试报告 jsonpath…
WebDriverAgent FaceBook推出的一款iOS移动测试框架, 支持真机和模拟器, 同时支持USB, 官方是这样介绍的: https://github.com/facebook/WebDriverAgent 下载: git clone https://github.com/facebook/WebDriverAgent.git 初始化脚本: 双击打开WebDriverAgent.xcodeproj 配置targets证书 配置WebDriverAgentRunner证书 这里会提示…
继前一篇: Mac环境下安装Jenkins Jenkins安装好后, 我们试着创建一个iOS自动打包并发布的任务 iOS App构建必须在MAC上面使用xcode进行,所以我们要安装下xcode集成插件 在Jenkins首页选择系统管理 选择插件管理 搜索xcode, 安装Xcode integration插件 勾上安装后重启, 等待结束 如果出现安装进度条在最后一点卡很近, 手动重启下Jenkins然后到已安装插件中检查是否已经安装了 安装好插件后下面我们开始创建任务 首先点击新建任务 输出任…
之前我们在终端试着调用过WDA API, 今天我们在看一个Python封装的api库 https://github.com/openatx/facebook-wda 安装方式(一): pip install --pre facebook-wda 安装方式(二): git clone https://github.com/openatx/facebook-wda.git cd facebook-wda/ python setup.py install 用Xcode开启WDA 会话, 然后再编写和执…