随笔分类 - Python
摘要:协程 协程,又称微线程,纤程。英文名Coroutine。 协程是啥 协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保
阅读全文
摘要:一、简介 每个网页,都有一定的特殊结构和层级关系,而且很多节点都有 id 或 class 作为区分,我们可以借助它们的结构和属性来提取信息。 PyQuery 是一个强大的 HTML 解析库,利用它,我们可以直接解析 DOM 节点的结构,并通过 DOM 节点的一些属性快速进行内容提取。 pyquery
阅读全文
摘要:在python中统一了类与类型的概念: class Foo: def find(self): print("我是定对象的方法") print(Foo) # <class '__main__.Foo'> obj = Foo() print(obj) # <__main__.Foo object at
阅读全文
摘要:什么是单例模式: 单例模式即一个类有且仅有一个实例 单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端
阅读全文
摘要:1.什么是枚举 在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值。 枚举的特点 枚举的特点: 枚举类中不能存在相同的标签名 枚举是可迭代的 不同的枚举标签可以对应相同的值,但它们都会被视为该值对应第一个标签的别名 如果要限制定义枚
阅读全文
摘要:在学习面向对象的时候,我们知道在 python 中有一类特殊的方法,叫做魔法方法,这种方法的特点如下: 方法定义的时候以两个下划线开头和两个下划线结尾:如__init__、__str__和__repr__ 这类方法一般不需要我们手动调用,在满足某个条件的时候会自动调用,这个满足的条件我们可以成为调用
阅读全文
摘要:什么是反射 发射主要指程序可以访问、检测和修改它本身状态或者行为的一种能力(自省),就是通过字符串的形式导入模块,通过字符串的形式去模块中寻找指定的函数并执行 4个内置函数 getattr(strObject, attr [,default]) 返回指定字符串strObject的属性或方法'attr
阅读全文
摘要:一、导入键盘事件 1.导入语句 想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等。 from selenium.webdriver.common.keys i
阅读全文
摘要:一、介绍 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。 官方文档:https://docs.httprunner.org/ 二、框架设计理念 充分复用优秀的开源项目,不追
阅读全文
摘要:Airtest是网易开发的手机UI界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机App图形界面测试代码编写工作。 安装和使用 安装Airtest 从Airtest官网:https://airtest.netease.com下载Airtest,然后像安装普通软件一样安装即
阅读全文
摘要:Flask-SQLAlchemy 使用起来非常有趣,对于基本应用十分容易使用,并且对于大型项目易于扩展。 官方文档:https://flask-sqlalchemy.palletsprojects.com/en/2.x/ 中文文档:http://www.pythondoc.com/flask-sql
阅读全文
摘要:Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST APIs 的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful 鼓励以最小设置的最佳实践。如果你熟悉 Flask 的话,Flask-RESTful 应该很容易上手。 关于fl
阅读全文
摘要:Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档, 英文不好的同学也可以参考中文文档 1.安装flask pip install flask 2.简单上手 一个最小的 Flask 应用如下: from flas
阅读全文
摘要:先前博客有介绍pytest测试框架的安装及使用,现在来聊聊pytest可以生成哪些测试报告 #1.allure测试报告 关于allure报告参见先前的一篇博文:https://www.cnblogs.com/feng0815/p/13792188.html ,这里不再赘述 #2.生成resultlo
阅读全文
摘要:简介 WebView是android中一个非常重要的控件,它的作用是用来展示一个web页面。它使用的内核是webkit引擎,4.4版本之后,直接使用Chrome作为内置网页浏览器。 简单来说wenview就是我们常说的H5页面,它可以想web页面那样利用webdriver进行定位 关于Webview
阅读全文
摘要:今天安装frida是报错,内容如下 看报错信息是SSL 证书 问题,百度查了下,Python 2.7.9 之后版本引入了一个新特性:当你urllib.urlopen一个 https 的时候会验证一次 SSL 证书 ,当目标使用的是自签名的证书时就会爆出该错误消息 也提供了解决办法: import s
阅读全文
摘要:强制等待:sleep() import time sleep(5) #等待5秒 设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。 隐式等待:implicitly_wait() driver.impl
阅读全文
摘要:要求: 需要退出当前所有的谷歌浏览器(特别注意) 找到chrome的启动路径 启动命令windows:chrome --remote-debugging-port=9222 启动命令mac:Google\ Chrome --remote-debugging-port=9222 配置环境变量 mac
阅读全文
摘要:文件上传 input标签可直接使用send_keys(文件地址)上传文件 self.driver.find_element_by_id('上传按钮id').send_keys('文件路径+文件名') 下面以百度图片搜索上传图片为例 #!/usr/bin/python # -*- coding: UT
阅读全文
摘要:WebDriver提供了execute_script()方法来执行JavaScript代码 具体DOM操作使用方法见之前写的一篇博文:https://www.cnblogs.com/feng0815/p/8215768.html 关于Webdriver自动化测试之执行JavaScript脚本可直接参
阅读全文