摘要: 以下log配置 不用去pytest.ini配置log_cli和log_cli_level,配置了可能会打印两遍 import loggingimport sys# 创建一个loggerlogger = logging.getLogger()logger.setLevel(logging.DEBUG) 阅读全文
posted @ 2021-05-06 16:36 孤独的羊 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: """子类继承父类后,初始状态下,继承了父类的属性, 实际是子类属性对父类属性的引用当在子类中修改继承过来的类属性时,并不会修改父类的同名类属性。以后只要是通过子类访问该属性,访问的都是子类的属性而dict.update和 = 的区别在于, update在原对象操作 ,而直接赋值 会使子类的类属性指 阅读全文
posted @ 2021-04-12 16:00 孤独的羊 阅读(2016) 评论(0) 推荐(0) 编辑
摘要: class A: def __init__(self, a): self.a = a # def __new__(cls, *args, **kwargs): # print("__new__") # 如果class定义了__get__,则这个class就称为descriptor。owner是所有者 阅读全文
posted @ 2021-01-14 12:09 孤独的羊 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 调用 __del__() 方法,该对象所占用的内存空间不一定就会被释放 第一种情况: class CLanguage: def __init__(self): print("调用 __init__() 方法构造对象") def __del__(self): print("调用__del__() 销毁 阅读全文
posted @ 2020-11-26 16:47 孤独的羊 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一 :__init__()和__call__()的区别如下: 1. __init__()的作用是初始化某个类的一个实例。 2. __call__()的作用是使实例能够像函数一样被调用,同时不影响实例本身的生命周期(__call__()不影响一个实例的构造和析构)。但是__call__()可以用来改变 阅读全文
posted @ 2020-08-14 16:50 孤独的羊 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 学会了能节省很多代码量,也方便使用下面是几个例子:# 列表生成表达式a = [i for i in range(5) if i % 2 == 0]print(a)# 字典生成表达式b = {i: i % 2 == 0 for i in range(10)}print(b)# 对于元组的生成表达式,其 阅读全文
posted @ 2019-12-19 16:02 孤独的羊 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 1.下载android sdk :https://www.androiddevtools.cn/ 选择sdk tools 安装后,选择对应版本下载sdk 配置环境变量 2.下载appium : appium desktop https://github.com/appium/appium-deskt 阅读全文
posted @ 2019-11-29 12:13 孤独的羊 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 昨天看了一个testerhome的公开课,关于Page Object的一些理念,虽然公开课不会讲太细,但是也表达了一些理念,提供了一些设计思路,希望能在以后工作中不断探索,下面分享一下内容 Page Object的几个原则: 方法意义: 1.用公共方法代表UI所提供的服务 2.方法应该返回其他的Pa 阅读全文
posted @ 2019-11-15 10:48 孤独的羊 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 对序列进行迭代并获取序列中的元素进行处理 阅读全文
posted @ 2019-11-14 15:32 孤独的羊 阅读(264) 评论(0) 推荐(0) 编辑
摘要: islice(iterable, [start, ] stop [, step]):创建一个迭代器: iterable[start : stop : step],跳过前start个项,迭代在stop所指定的位置停止,step指定用于跳过项的步幅。迭代默认将从0开始,步幅默认1 用python快速写斐 阅读全文
posted @ 2019-11-14 14:51 孤独的羊 阅读(2344) 评论(0) 推荐(0) 编辑