摘要:最近写了一个工具(比较两套测试环境mysql数据库中表、表字段、索引的差异,基于python)通过文章简单介绍下工具的相关内容 一、工具名称: dbstructsync (python库) 二、主要功能: 比较两套环境中mysql指定库中表、表字段及索引的差异,返回同步的sql ,里面包含建表,修改
阅读全文
摘要:如果将里面的变量定义为 x 而不是__x ,
阅读全文
摘要:在jenkins 构建服务前校验分支是否合并了master #!/bin/bashecho ${branches} if [[ ${branches} != hotfix* && ${branches} != release* && ${branches} != feature* && ${bran
阅读全文
摘要:这里只是做一个大概的解析,还有很多细节部分没有太过于关注 我们从cli.py开始进行解析 1、argparse.ArgumentParser 接受命令行的各种参数 [ ] 2、 httprunner进行初始化,初始化的参数从argarse传递进来 [ httprunner对主要代码在api.py中,
阅读全文
摘要:从以上代码中应该了解到: obj.attribute 查找的顺序: 从对象,类组成的树中,从下到上,从左到右到查找最近到attribute属性值,因为rec中存在name的属性,所以x.name可以去到值。 但通过__dict__就取不到值,因为__dict__属性是基于类对象的命名空间字典。 命名
阅读全文
摘要:1、把函数视为对象 def factorial(n): '''return n!''' return 1 if n < 2 else n*factorial(n-1) print(factorial.__doc__)x = factorialprint(x)print(factorial)print
阅读全文
摘要:数据库的存储过程在正常的线上应用是不会用到了,至少在我工作的这么些年,很少再遇到存储过程。 但在现实的测试过程中,为了快速修改一些数据,还是需要使用到存储过程。 设置的参数的IN, OUT, INOUT IN 表示调用者向过程传入值, OUT 表示过程向调用者传出值, INOUT 前两者的结合 cr
阅读全文
摘要:#动态创建类# type(class_name, tuple_of_parent_class, dict_of_attribute_names_and_values), 第二个参数为继承关系,可以为空,第三个描述类应该具有的attribute#正常创建类class TestClass2(object
阅读全文
摘要:httprunner其中一个比较好的点就是利用type动态创建类,使用setattr动态增加方法和属性。 将维护的用例进行转变为继承unittest.Textcase的类,很好的与unittest结合起来 以下为简单的例子 正常的写法: 动态的写法: 源码除了这部分内容为,还用到了高阶函数的方式。
阅读全文
摘要:自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架。 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunner源码来比较和学习下 1、httprunner 提供了比较便利的脚手架代码及命令行运行方式 cli.
阅读全文