
python 相关框架
暂时只记录了 selenium、pytest 相关
MokWing
前路漫漫、其修远兮
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pytest 测试框架学习(15):pytest.freeze_includes
pytest.freeze_includes含义使用含义freeze_includes: 返回包括 cx_freeze 提供的 pytest 使用的模块名称列表。源码:详细说明:使用基础import pytest# 打印出所有 模块名称def test_freeze(): print(pytest.freeze_includes())根据上面详细说明内容可以得知,这个模块内只有 cx_freeze 和 py2exe 提供的一些模块,而不能获取到第三方插件内的模块;需原创 2020-07-14 11:18:39 · 488 阅读 · 0 评论 -
pytest 测试框架学习(14):pytest.warns
pytest.warns含义使用含义warns: 使用 pytest.warns 可以检查代码是否发出特定的警告信息,使用方法与 raises 类似。源码:使用简单使用import warningsimport pytestdef test_warning(): with pytest.warns(UserWarning): warnings.warn("my warning", UserWarning)匹配正则表达式# 1、 完全匹配def te原创 2020-07-14 10:39:39 · 969 阅读 · 0 评论 -
pytest 测试框架学习(12):pytest.deprecated_call
pytest.deprecated_call含义使用含义deprecated_call: 是一个上下文管理器,可确保代码块触发 DeprecationWarning 或者 PendingDeprecationWarning;源码:deprecated_call 可以将函数当做参数传入,后面跟上参数。使用函数不传参import warningsdef api_call_v2(): warnings.warn('use v3 of this api', DeprecationWarnin原创 2020-07-13 10:33:04 · 508 阅读 · 0 评论 -
pytest 测试框架学习(11):pytest.raises
pytest.raises含义使用含义raises: 在断言一些代码块或者函数时会引发意料之中的异常或者其他失败的异常,导致程序无法运行时,使用 raises 捕获匹配到的异常,可以继续让代码正常运行。源码:expected_exception: 预期的异常(可以输入一个元组)。使用预期内异常import pytestdef test_raises(): with pytest.raises(ZeroDivisionError): 2 / 0 asse原创 2020-07-10 12:21:21 · 8033 阅读 · 0 评论 -
pytest 测试框架学习(10):pytest.param
pytest.param含义使用含义param: 在 pytest.mark.parametrize 中可以作为一个指定的参数进行调用。源码:values: 需要传入的参数,按照顺序。**kw: 传入为字典,主要有两个:marks 和 id。marks: 要应用于此参数集的单个标记或标记列表。id: 这个参数集中的id属性。使用import pytest@pytest.mark.parametrize("test_input, expected", [ ("3+5",原创 2020-07-10 10:47:32 · 2591 阅读 · 0 评论 -
pytest 测试框架学习(9):pytest.main
pytest.main含义使用含义main: 在测试运行进程结束后返回退出代码。源码:args: 命令行参数列表。plugins: 自动注册的插件列表对象使用pytest.main 其实 就是将 命令行执行命令使用 ide 工具在运行函数中进行了操作。指定参数:"-s": 显示程序中的print/logging输出"-v": 丰富信息模式, 输出更详细的用例执行信息“-m”: 运行打标签的用例"-q": 安静模式, 不输出环境信息"-reruns": 失败重新运行...还原创 2020-07-09 11:51:37 · 1434 阅读 · 0 评论 -
pytest 测试框架学习(8):pytest.exit
pytest.exit含义使用含义exit: 退出测试进程。源码:msg: 就是我们退出测试进程时显示的信息。returncode: 当退出pytest时返回的一个状态码,为 int 类型。使用def sum(x): return x + 1def test_sum1(): print(sum(2))def test_sum2(): print(sum(-1)) pytest.exit("退出测试")def test_sum3(): pri原创 2020-07-09 11:12:33 · 1586 阅读 · 1 评论 -
pytest 测试框架学习(7):pytest.xfail
pytest.xfail含义使用含义xfail: 根据给定的原因下标记执行的测试和设置函数为失败。源码:官方提示,这个函数只能在 执行测试期间,也就是(setup、call、teardown)中使用。 note 中也提示为了更好的使用,建议使用 mark 方式 – @pytest.mark.xfail 。使用和 fail 使用差不多。我这里就截图展示了:但是与 fail 不同于,执行结果,下图为 fail 执行:可以知道,xfail 是将测试标记为 xfailed,而 fail 则是直原创 2020-07-08 11:35:47 · 618 阅读 · 0 评论 -
pytest 测试框架学习(6):pytest.importorskip
pytest.importorskip含义使用含义importorskip: 导入并返回请求的 module 信息;如果导入的 module 不存在,则跳过当前测试。源码:参数分析:modname: 需要被导入的模块名称,比如 selenium;minversion: 表示需要导入的最小的版本号,如果该版本不达标,将会打印出报错信息;reason: 只有当模块没有被导入时,给定该参数将会显示出给定的消息内容。使用导入 selenium 模块import pytestclas原创 2020-07-08 10:57:30 · 912 阅读 · 0 评论 -
pytest 测试框架学习(5):pytest.skip
pytest.skip含义使用含义skip: 跳过一个给定消息的执行测试。源码:skip 和 上一篇 fail 一样,也有两个参数,第一个参数 msg 作用应该是一样的,会在日志中输出一个提示信息;第二个参数类型也是一样,都是布尔型,但是这里默认的是 False。中间 的 * 号则代表这个方法仅限关键字传参。使用import pytestclass TestSkip: def sum(self, x): return x + 1 def sub(self,原创 2020-07-07 12:01:20 · 668 阅读 · 0 评论 -
pytest 测试框架学习(4):pytest.fail
pytest.fail含义使用含义fail:翻译过来大致意思为 执行测试输出给定的消息并将结果显示为失败。源码:查看源码,可以看到它包含两个参数,一个是我们需要给测试结果输出的msg;一个是trace – 溯源,或者叫追踪痕迹。使用我们简单定义一个求和函数def sum(x): return x + 1简单测试一下import pytestdef test_sum(): sum(2)执行结果为通过3. 使用 pytest.fail@pytest.fa原创 2020-07-07 09:59:36 · 2419 阅读 · 0 评论 -
pytest 测试框架学习(3):pytest.approx
pytest.approx前言含义使用单数元祖字典numpy 数组:相对误差 和 绝对误差进阶前言经过 API 我们已经了解到 pytest 中包括的 API 大致内容,接下来我们详细看看 Functions 中的 pytest.approx。含义approx:在一定误差范围内断言两个数字(或两组数字)相等。源码如图:使用我们知道计算机运算浮点数的复杂性,我们直观认为相等的而实际上并不相等;单数0.1 + 0.2 == 0.3# 我们认为上方计算出来结果进行比对返回应该是 True,而原创 2020-07-06 15:41:20 · 2774 阅读 · 0 评论 -
pytest 测试框架学习(1):初识
初识 pytest 测试框架一、pytest 官网二、本地配置三、简单使用一、pytest 官网https://docs.pytest.org/en/stable/二、本地配置python 环境。我本地 python 版本号为 3.7;适合自己的IDE编辑器。我本地为 PyCharm;PyCharm 配置 pytest。3.1. 打开Pycharm --> File --> Setting…3.2. 根据下图,点击 + 号3.3. 在输入框中输入 pytest 后,原创 2020-07-02 11:49:24 · 694 阅读 · 0 评论 -
python 自动化测试(6):jar包调用
Python对jar包的使用前言依赖库使用前言编写自动化时,可能会遇到一些语言之间的调用。例如: 在登录页面,获取短信验证码后通过java编写的加密方式存入数据库中;使用python编写自动化脚本调用对应jar包,jar包的内容时对应的解密方式,则可以将解密好的内容放入对应输入框内就可以自动化登录了。依赖库Jpype1安装简单的安装方式,使用 Pycharm 编辑器,File --&...原创 2020-05-06 15:14:02 · 1076 阅读 · 0 评论 -
python 自动化测试(5):页面基类封装
一、前言主要包括,打开浏览器、关闭浏览器、浏览器前进,后退操作、隐式等待、关闭当前窗口、保存图片、重写定位元素、输入、清除文本框内容、点击元素、获取网页标题、重写send_keys方法、重写跳转iframe方法、切回父级iframe等内容。二、源码import osimport timefrom selenium import webdriverfrom selenium.common...原创 2020-05-06 13:52:42 · 1762 阅读 · 0 评论 -
python 自动化测试(4):日志类封装
一、前言本篇日志封装比较简单,符合简单的代码运行时记录。使用python自带logging库进行封装。主要包含指定保存日志的文件路径,日志级别,以及调用文件将日志存入到指定的文件中。二、源码import loggingimport os.pathimport timeclass Logger(object): def __init__(self, logger): ...原创 2020-05-06 13:21:03 · 1624 阅读 · 0 评论 -
python 自动化测试(3):数据库连接与使用
Python连接数据库与简单使用环境准备python依赖库cx_Oracle 安装方法代码编写OracleMysql环境准备我提供的为我自己本地环境,一般都是通用,一致搭建,可以正常使用。windows 系统 7、10大概都是可以使用。mac系统 暂无。pythonpython 版本为 3.7.1下载地址: https://www.python.org/downloads/windo...原创 2020-04-29 13:24:52 · 2221 阅读 · 2 评论 -
python 自动化测试(2):针对密码输入框为密码控件时的解决方案
一、前言 使用selenium进行自动化测试,节约了我们的人工和时间成本,增加测试的便利性。然而有些时候selenium也不能完全帮我们解决一些页面问题。我这篇主要写一下遇到有密码控件的输入框时的解决方案。二、问题 我这里出现的是,pc端登录时会有一个密码控件的安装和输入,就像银行那种输支付密码时会有一个插件的安装,安装好之后才会出现一个输入框。我们知道普通...原创 2019-07-24 13:53:13 · 8710 阅读 · 10 评论 -
python 自动化测试(1):获取验证码图片,实现自动登录
1、版本: firefox:59.0.2 selenium:3.11.0 Geckodriver :0.18.0 pytesseract:0.2.0 tesseract-ocr:4.0.02、代码:import timeimport pyt...原创 2018-04-30 23:10:29 · 40795 阅读 · 21 评论