背景:本文是在系列第五篇发表后的补充篇章,第一篇介绍了tep,可能对不熟悉pytest的朋友不够友好,特意补充入门篇,帮大家快速了解如何动手写pytest。如果你是从这篇文章第一次阅读,那么请忽略以上。

安装Python和编辑器PyCharm。Python安装包下载地址是https://www.python.org/downloads/,推荐3.8版本。PyCharm安装包下载地址是

https://www.jetbrains.com/pycharm/download/ ,下载Community社区版即可。下载后按常规软件安装。

pytest

pytest是Python内置包,无需单独安装,但是需要设置

创建1个Project和1个test.py来试试,左上角点击 File | New Project | create,创建项目。在项目中右键选择 New | File 创建test.py



接着设置PyCharm,默认PyCharm自带的测试框架是Unittests,在 File | Settings | Tools | Python Integrated Tools | Testing | Default test runner,修改为pytest

在test.py文件中添加代码

def test():
pass

这个时候def的左边会出现一个绿色的箭头,点击之后就可以使用pytest运行,注意一定要是 pytest for... 才可以,如果只是 Run test.py,是不走pytest执行的(右上角Edit Configurations删掉来解决)

执行之后控制台输出信息就可以了

Testing started at 11:10 AM ...
"D:\Program Files (x86)\Python38-32\python.exe" "D:\Program Files\JetBrains\PyCharm Community Edition 2020.1.2\plugins\python-ce\helpers\pycharm\_jb_pytest_runner.py" --target test.py::test
Launching pytest with arguments test.py::test in D:\PycharmProjects\untitled ============================= test session starts =============================
platform win32 -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1 -- D:\Program Files (x86)\Python38-32\python.exe
cachedir: .pytest_cache
rootdir: D:\PycharmProjects\untitled
collecting ... collected 1 item test.py::test PASSED [100%] ============================== 1 passed in 0.14s ============================== Process finished with exit code 0

至此,pytest的环境就准备好了。

tep

安装tep,在PyCharm中打开左下角的Terminal,既可以用pypi,也可以用国内镜像,推荐国内镜像更快

pypi

pip install tep

国内镜像,同时设定超时,提高安装成功率

pip --default-timeout=600 install -i https://pypi.tuna.tsinghua.edu.cn/simple tep

安装tep的同时,会自动安装requests、allure、faker、jmespath、loguru、deepdiff、pymysql、sqlalchemy、texttable、pandas、numpy等实用第三方包。

至此,tep的环境就准备好了。

如果有任何问题,请及时留言联系我。

pytest封神之路第零步 快速入门

pytest封神之路第一步 tep介绍

pytest封神之路第二步 132个命令行参数用法

pytest封神之路第三步 精通fixture

pytest封神之路第四步 内置和自定义marker

pytest封神之路第五步 参数化进阶

持续更新中...

最新文章

  1. [js开源组件开发]js文本框计数组件
  2. 系统上线后WCF服务最近经常死掉的原因分析总结
  3. 转Masonry遇到的问题
  4. WP8.1 实现Continuation程序(打开文件,保存文件等)
  5. php读取文件时多了个%uFEFF[bom字符],怎样去掉?
  6. CookieHelper JS封装Cookie 存取方法
  7. unsupported dynamic reloc R_ARM_REL32 AND hidden symbol '__dso_handle' is not defined
  8. EMV规范 ---ISO7816 T=0协议的时间特性
  9. 使用dbstart 和dbshut 脚本来自动化启动和关闭数据库
  10. no copy constructor available or copy constructor is declared 'explicit'
  11. 如何在SSIS的脚本组件中访问变量
  12. mysql root密码
  13. jenkins - ssh Server Groups Center
  14. BZOJ 3620: 似乎在梦中见过的样子 [KMP 暴力]
  15. 用PCA(主成分分析法)进行信号滤波
  16. LeetCode算法题-Longest Harmonious Subsequence(Java实现)
  17. Webpack 使用url-loader和file-loader打包资源文件
  18. awk基本用法
  19. 2019 The 19th Zhejiang University Programming Contest
  20. 基于Extjs 4.2的通用权限管理系统,通用后台模板,EF+MVC+Extjs 4.2

热门文章

  1. 匹配对象方法:group() 与 groups()
  2. Logistic回归分析之二元Logistic回归
  3. Java多线程_阻塞队列
  4. .NetCore对接各大财务软件凭证API——用友系列(3)
  5. secureCRT中sftp的使用
  6. 创建一个springbootcloud项目
  7. 详细分析链表的数据结构的实现过程(Java 实现)
  8. android 数据绑定(5) kotlin 的binding bug
  9. vue项目打包上线发现 360 浏览器不兼容?
  10. 深入了解Netty【二】零拷贝