本文目录一览:
用 Python 为接口测试自动生成用例
基于属性的测试 会产生大量的、随机的参数,特别适合为单元测试和接口测试生成测试用例
尽管早在2006年haskell语言就有了 QuickCheck 来进行”基于属性的测试“,但是目前来看这依然是一个比较小众的领域,参考资料有限,本文如有不足,欢迎指正。
在过去的测试实践中,执行测试时通常需要明确的内容(Value):
这些内容可以通过”判定树“或者”判断表“来表示,然后测试的执行过程变成了这样
可以称为 基于表的测试
在最初,这给了我们测试的方向,但是缺点也非常明显:
你要足够多的"X-Y" 才能可能覆盖到隐蔽的bug。
这里请大家回答几个问题:
如果以上问题的答案不是yes,那么 基于属性的测试 就是你需要掌握的东西!
基于属性的测试和基于表的测试,最大的区别可以这样描述:
vs
于是利用工具生成大量的X类数据,进行测试,并验证结果是否Y类。
值得注意的是:
在不同的语言中有不同的工具来实现,比如:
本文以python为例进行演示:
假设有add函数,接收两个类型整数参数,并返回它们的相加结果
首先写出一个简单的测试用例
正如前面所说,一个这样的用例,根本没信心覆盖全部的场景,例如:
所以接下来怎么办?
改为基于属性的测试
执行结果
由结果可知,工具根据 参数是整数 这一规范,自动生成、执行了大量的测试用例
接口测试和函数的单元测试非常相似:
此外接口文档作为前后端、甚至测试开发的对接窗口,对参数的要求约定的更加细致,
以OpenAPI为例,每个参数可以有以下属性:
于是为接口生成符合要求的参数就变得可行了,举个例子:
这是以unittest为例进行封装的结果,只需要在TestCase中指定openapi的内容(或路径),
启动测试框架时,会自动读取、解析接口文档,并生成测试用例
下面是部分执行日志,可以看到对接口发送了随机参数,并获得返回值
文章来自
python 根据规律生成url列表然后在下载 做一个爬虫
用爬虫跟踪下一页的方法是自己模拟点击下一页连接,然后发出新的请求;
参考例子如下:
item1 = Item()
yield item1
item2 = Item()
yield item2
req = Request(url='下一页的链接', callback=self.parse)
yield req
注意:使用yield时不要用return语句。
python 自动化,如何添加测试用例
1、单独添加一个或多个用例
......
2、添加某个类下的所有用例
2.1方法一:
如Class_name类下有多个用例,则直接括号里不写入任何用例名,即可测试该类下所有用例。
2.2方法二
使用unittest.makeSuite(类名),将该类下所有用例添加到套件中
2.3方法三
使用 unittest.TestLoader()这个类下的loadTestsFromTestCase(类名),将该类下的所有用例加入到套件中
3、将整个文件中的用例都加载到套件中,不管有几个用例类
使用 unittest.TestLoader()这个类下的loadTestsFromModule(文件名, pattern=None),moudle就是用例存放的文件名
python多线程探测url地址
建立一个名为url.txt的文件,将需要批量测试的url放此文件中,执行脚本就看可以了。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。