怎样从0开始搭建一个测试框架_11——支持方法
来源:互联网 发布:javascript dom和框架 编辑:程序博客网 时间:2024/05/16 14:21
怎样从0开始搭建一个测试框架_11
框架到这里已经很不错了,后面就需要各位自己去完善了。比如有时候请求需要加密、签名,还有一些支持方法,可以在utils中建个support.py放进去。
在utils中创建一个support.py文件,里面可以放需要的一些支持方法,我们示例一个加密和签名的方法:
"""一些支持方法,比如加密"""import hashlibfrom utils.log import loggerclass EncryptError(Exception): passdef sign(sign_dict, private_key=None, encrypt_way='MD5'): """传入待签名的字典,返回签名后字符串 1.字典排序 2.拼接,用&连接,最后拼接上私钥 3.MD5加密""" dict_keys = sign_dict.keys() dict_keys.sort() string = '' for key in dict_keys: if sign_dict[key] is None: pass else: string += '{0}={1}&'.format(key, sign_dict[key]) string = string[0:len(string) - 1] string = string.replace(' ', '') return encrypt(string, salt=private_key, encrypt_way=encrypt_way)def encrypt(string, salt='', encrypt_way='MD5'): u"""根据输入的string与加密盐,按照encrypt方式进行加密,并返回加密后的字符串""" string += salt if encrypt_way.upper() == 'MD5': hash_string = hashlib.md5() elif encrypt_way.upper() == 'SHA1': hash_string = hashlib.sha1() else: logger.exception(EncryptError('请输入正确的加密方式,目前仅支持 MD5 或 SHA1')) return False hash_string.update(string.encode()) return hash_string.hexdigest()if __name__ == '__main__': print(encrypt('100000307111111'))
根据你实际情况的不同,在其中添加其他支持方法。
就写这么多了,你可以根据这个思路补充扩充,来实现你自己的测试框架,也可以自己调整框架的分层与结构,框架的目的是为了简化我们用例编写和维护的工作量,也没必要把框架搞的太过复杂。
所有的代码我都放到了GITHUB上传送,可以自己下载去学习,有什么好的建议或者问题,可以留言或者加我的QQ群:455478219讨论。
阅读全文
0 0
- 怎样从0开始搭建一个测试框架_11——支持方法
- 怎样从0开始搭建一个测试框架_0——总章
- 怎样从0开始搭建一个测试框架_1——配置
- 怎样从0开始搭建一个测试框架_2——日志
- 怎样从0开始搭建一个测试框架_3——参数化
- 怎样从0开始搭建一个测试框架_4——报告
- 怎样从0开始搭建一个测试框架_5——邮件
- 怎样从0开始搭建一个测试框架_6——PageObject
- 怎样从0开始搭建一个测试框架_7——接口
- 怎样从0开始搭建一个测试框架_8——断言
- 怎样从0开始搭建一个测试框架_9——抽取器
- 怎样从0开始搭建一个测试框架_10——数据生成器
- 怎样从0开始搭建一个既可以功能测试+又可以接口测试框架(灰蓝作品,qq号:396214358 )
- 从0开始,搭建SSM服务器框架
- 从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面
- 从0开始学习maven搭建spring+mybatis框架
- 从0开始搭建主流框架(纯代码)
- 从“0”开始搭建个人博客(4)——补充
- js md5加密和java md5加密不一致
- HTML5 表单新类型和新属性
- 解决使用专有网络的阿里云服务器无法远程连接的问题
- AngularJS(十二)控制器
- 什么是架构,什么是架构师?
- 怎样从0开始搭建一个测试框架_11——支持方法
- 前台经验---梳理下radio和checkbox的页面获取问题
- js 交换两个元素的位置,动画效果
- 页面内滚动条样式修改
- Java transient关键字
- React Native starter project bundling fails with Unexpected Token error
- Longest Consecutive Sequence
- 快学numpy04
- 优先级翻转与优先级继承