Python实践之路
文章平均质量分 76
yuetiantian
自动测试
展开
-
Python实践1-Python自动化测试常用库整理
今天花了一些时间,过了一下这几年自己用Python开发的自动化测试框架,然后将其中常用到Python库抽出来,简单整理了一下它们的用处。我觉得,只要掌握了这些常用的Python库,足以应对大多数自动化测试框架和工具的开发工作。为了从若干源代码文件中找出这些被引用的Python库,还专门写了一个小工具来查找它们,该工具已经上传到github,地址是:import_search.py如果各位在...原创 2018-10-04 22:25:06 · 6931 阅读 · 4 评论 -
Python实践11-装饰器本质
装饰器的本质Python里的装饰器是一个不太容易理解的东西,下面是一些关于Python装饰器的概念:从形式上来说是在函数调用上的装饰 以@开头,接着是装饰器的名字和可选的参数 装饰器实质上是函数 装饰器的返回值是一个包装了的函数装饰器的作用装饰器用来装饰函数,可以在被装饰的函数调用前做些准备工作,在被装饰的函数调用后做些清理工作,这样的特征使它在AOP(Aspect Orien...原创 2018-10-12 23:19:17 · 361 阅读 · 0 评论 -
Python实践10-doctest简介
doctest的作用在python代码中寻找类似交互解释器里执行的命令,执行它们并且和这些命令的期望值进行比较。 用来验证docstring中的注释和代码实际的作用是一致的 可以作为回归测试来验证代码能够正确执行 可以用来编写模块的文档演示这些模块是如何处理输入得到输出的。doctest的要点一般写在函数的docstring里面 用>>>表示一个用例的开始,直到...原创 2018-10-06 08:19:24 · 791 阅读 · 0 评论 -
Python实践9-检查文件是否存在
两种检查方式一种是调用os.path模块中的方法isfile() 另一种是使用pathlib模块,在Python2中需要以第三方模块的方法安装,在Python3中pathlib是内置模块,无需安装 其实还可以直接使用open函数打开该文件,通过抛出的异常类型来判断文件是否存在,非常不建议使用这种方法。实例展示import os.pathimport pathlib# 检查给定...原创 2018-10-06 08:18:33 · 745 阅读 · 0 评论 -
Python实践8-Python的那些命令行选项
Python命令行选项打印帮助 python -h python --help 打印版本 python -V (注意大写V) python --version 优化 python -O 打开基本优化。这将编译(字节码)文件的文件扩展名从.pyc更改为.pyo 打开hash随机化 python -R 强制stdion, stdout和stderr完全无缓冲 ...原创 2018-10-06 08:12:17 · 1132 阅读 · 1 评论 -
Python实践7-布尔值False
布尔值所有标准对象均可用于布尔测试,每个对象天生具有布尔True或False 空对象, 值为零的任何数字或者None的布尔值都是False 用户创建的类实例如果定义了nonzero(__nonzero__())或length(__len__())且值为0,那么他们的布尔值就是False。如果nonzero和length同时存在,以nonzero的结果为准。标准对象里的Falsede...原创 2018-10-06 08:10:56 · 6491 阅读 · 0 评论 -
Python实践6-模块结构和布局
模块经典的结构和布局起始行 #!/usr/bin/env python 模块文档(文档字符串) 模块导入 (全局)变量定义 类定义(如果有的话) 函数定义(如果有的话) 主程序主程序我们常常看到的主程序形如if __name__ == "__main__": pass那么它的作用是什么呢?__name__ 系统变量用来表示该模块是被导入的还是被直接执...原创 2018-10-06 08:09:56 · 295 阅读 · 1 评论 -
Python实践5-Python的特点
Python起源1989年Guido始创了Python, 1991年发布了第一个公开发行版Python的特点解释执行,动态语言 是面向对象的高级语言,容易对现实世界进行建模 在数据分析和人工智能方面使用广泛 内置和第三方的库众多,开箱即用,新人容易上手 社区活跃,资源丰富个人感受简便易用的各种库,特别适合做自动化相关工作 有一定的跨平台性,不过windows上总体对Pyt...原创 2018-10-04 22:31:39 · 198 阅读 · 0 评论 -
Python实践4-守护线程
常见的误解Python初学者会有一个误解,那就是设置线程为Daemon,主线程退出后,子线程仍运行直到任务结束。其实,这是不对的。在维基百科是这样定义守护程序的In multitasking computer operating systems, a daemon (/ˈdiːmən/ or /ˈdeɪmən/)is a computer program that runs as a ...原创 2018-10-04 22:29:32 · 1328 阅读 · 0 评论 -
Python实践3-Tenacity提高自动测试健壮性
在自动化测试工具和自动化测试用例开发过程中,经常需要处理一些待操作对象不稳定的情况,例如,某些界面元素不能及时出现,某些服务暂时不可用。这个时候,测试代码必须想方设法应对这种情况,以便提高工具和用例的健壮性,最常见的解决方法就是进行重试:当特定条件不满足的时候,等待一段时间,然后再次尝试,直到期望的条件满足继续运行,或者重试到达一定数目抛出异常退出。 下面是一种常用的重试代码样板.d...原创 2018-10-04 22:27:36 · 1144 阅读 · 0 评论 -
Python实践2-Paramiko实现互信主机间文件传输
任务背景Python的paramiko真乃神器也,不仅把需要用xmlrpclib实现的RPC功能非常简洁地实现了,还顺带着把用shell scp命令实现的文件传输也搞定了。我司测试在平时工作中,主要用它来部署文件和进行远程控制。由于都是在自己安装的机器,一般都是在paramiko脚本里指定用户名和密码连接远程机器,用起来十分方便。但是有一天,突然接到紧急任务,需要在一个小时内,把测试环境部...原创 2018-10-04 22:26:53 · 918 阅读 · 0 评论 -
Python实践12-带参数的装饰器和多层装饰
无参数的装饰器@delaydef add(): pass最后 add = delay(add)带参数的装饰器@delay(sec)def add(): pass最后 add = delay(sec)(add)例子如下:def delay(sec): def wrapper(func): def _wrapper(*a...原创 2018-10-12 23:20:29 · 565 阅读 · 0 评论