pytest学习笔记
pytest 优于其他测试框架的地方:
1、简单的测试可以简单的写
2、复杂的测试也可以简单的写
3、测试的可读性强
4、易于上手
5、断言失败仅使用原生assert关键字,而不是self.assertEqual()或者self.assertLessThan()
6、pytest可以运行有unitest和nose编写的测试用例
pytest不依赖python的版本,python2和3都能安装最新版的pytest
Tasks项目:
tasks程序通过CLI交互,底层编码通过调用API实现
很久没有更新博客园,比较好听点的原因是由于项目比较忙,没有时间整理写脚本过程中的问题。实际上是由本人的“懒”,不想写。不写不记录慢慢的就导致了懒癌的形成,久而久之某些知识回了之后就忘记了,好了 废话不多说 记录下最近写代码过程中的一些问题
1、写接口脚本时候,为了实现活动榜单数据制造,需要写一个登录方法 从json返回值中取出token、uid(uid 用来造主播榜单 给不同的主播送礼,token 不同用户给同一个主播送礼,造用户排行榜的榜单)。礼用config文件存储,将多个token从接口中读出存放在list,然后写入config.txt文件中,用来后面送礼 接口读取数据。但是发下config只能存入字符串str,于是后面想一个个的读取就失败了。
如果使用如下方法直接转换成list 不能实现 我想要的list 例如[
"ODAxMzNfRjU5QkQ2NUY3RURBRkIwODdBODFENERDQTA2QzQ5MTBfMV84NjMzODkwMzY5MjU3OTNfMTU3MTcyMjQ5NV9iYW5iYW4xMjM0NTY=", "ODAxMzRfRjU5QkQ2NUY3RURBRkIwODdBODFENERDQTA2QzQ5MTBfMV84NjMzODkwMzY5MjU3OTNfMTU3MTcyMjQ5NV9iYW5iYW4xMjM0NTY="
]:
token_list = list(Tool().token_list) 这个函数直接读取到的是 ['O','D','A','x'....]
所以查询资料之后发现 str 和list、tuple、dict之间的转化 需要用到方法eval:
uid_list = list(eval(Tool().uid_list))
或者使用split 将字符串切片之后分割成列表,观察如上列表中的字段 想要转换成想要的列表,需要通过逗号切片 如:
uid_list = Tool().uid_list.split(',')
以上为两种实现方式
2、在通过抓包后台接口 实现脚本调用过程中报如下错误,原因是由于传参中没有json dumps:
{"timestamp":"2019-10-24T07:08:04.043+0000","status":400,"error":"Bad Request","message":"JSON parse error: Unrecognized token 'headImgUrl': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'headImgUrl': was expecting ('true', 'false' or 'null')\n at [Source: (PushbackInputStream); line: 1, column: 12]","path":"/family-web/robotBack/robotRegister"}