python:结合selenium写一个登录的装饰器,实现解耦
摘要:每次写用例,有个前置条件,都会写上已登录。 但是Web自动化,如何实现已登录的功能呢,有写成一个函数在每个用例执行前调用一次的,也有利用前置条件如:setup,__init__等方法来解决登录的,我这里决定专门写个登录的装饰器来实现登录的功能。 代码如下:写了一个用来登录的装饰器,判断是否登录成功,
阅读全文
python:多线程(线程的创建和结束)
摘要:首先来体验下什么是多线程: 如图:利用多线程同时执行sing和worker2个函数: '''多线程''' import time import threading def sing(): '''唱歌5秒钟''' for i in range(3): print(" 正在唱歌 ") time.slee
阅读全文
解决pycharm控制台乱码问题
摘要:如图:ping命令拼百度控制台乱码: 解决:修改编码为GBK 如图: 问题解决
阅读全文
python生成requirements.txt文件
摘要:恢复内容开始 requirements.txt文件是为了维护python项目相关的依赖包及其精确的版本号。以便后续新环境部署。 生成requirements.txt文件: 在python工程目录输入:pip freeze > requirements.txt 如图: 查看requirements.t
阅读全文
完全搞懂python打印九九乘法表
摘要:说来惭愧,入行1年多一直没搞懂九九乘法表的第二层for循环,for j in range(1,i+1),它为什么要i+1。直到今天面试官让我说99乘法表实现的具体代码,才忽然之间懂了。 为什么内层for循环需要加1? 原因:外层的range函数(1,10)只能取到9,内层的range(1,i),i只
阅读全文
python常用基础
摘要:1:python数据类型 2:变量和运算符 3:流程控制 4:文件处理 5:输入和输出 6:异常处理 7:函数和模块 8:面向对象 9:多线程 10:标准库
阅读全文
python装饰器
摘要:装饰器有啥用,装饰器可以在不改变原有函数的前提下,对代码增加功能,实现代码解耦。要学装饰器,必须要搞懂闭包,二者是相辅相成的。 看上面这个图,我在调用test1(12)的时候发生了什么?@set_func ,等价于test1 = set_func(test1),由此可知我在调用set_func的时候
阅读全文
python闭包
摘要:什么是闭包,简单理解闭包就是一个特殊的空间,闭包相当与于一个嵌套函数,里面函数用到了外面函数的变量,外面函数用到了里面函数的返回值。可以当做实参进行传递,可以实现python装饰器的功能。 看上面如图代码,定义了line的函数,需要传2个参数,又在里面定义了一个create_z的函数,需要传1个参数
阅读全文
linux环境安装python3
摘要:参考如下: pip软链接: 第一步:先安装python3环境的相关依赖包 输入以下命令: yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gd
阅读全文
python中实例方法,类方法和静态方法的区别。
摘要:实例方法,必须要创建实例才能调用,里面有self关键字,有初始化函数必须对初始化函数进行传参。 类方法,可以直接类名.方法名直接调用,也可以创建实例调用。里面有cls关键字,调用时,直接类名.方法名,可以绕过实例方法的初始化函数,类方法不能访问实例属性。 静态方法,可以直接类名.方法名直接调用,也可
阅读全文
python之super()超继承的使用
摘要:超继承什么时候用,子类重写了父类的方法,但是子类还想用之前被重写之前父类的方法,就可以使用超继承。这是一种贪婪的继承。 看下面一段代码,定义了一个数学方法类MathMethod01,又定义了子类的数学方法类MathMethod02,继承了MathMethod01里面的实例属性,并重写了父类的add方
阅读全文
面向对象三大特征之--多态
摘要:什么是多态? 多态是指同一方法由于调用对象不同,产生不同的行为。其实就是对象的多种形态。 python里面产生多态,要满足2个条件,继承和方法的重写。 看下面这段代码,定义了一个叫Person的对象,里面有一个eat吃饭的方法,下面的3个子类China,English,Indian都继承了Perso
阅读全文
python之os模块学习
摘要:获取文件路径连接最简单的方法: 先获取当前工作目录路径,再获取当前文件相对路径,最后使用join函数连接起来。 print(os.getcwd()) # todo 获取当前工作目录路径 print(os.path.relpath(__file__)) # todo 获取文件相对路径 print(os
阅读全文
python中一颗*args和2颗**kwargs的区别
摘要:*args是不定长参数,有时候我们在定义函数时不确定要写几个参数时,就可以使用不定长参数。 比如发送一个http请求,有些需要传headers,cookies,有些请求不需要,就可以使用不定长参数了。 **kwargs是关键字参数,传递的是字典格式的参数。 连接数据库的时候,需要传地址,数据库名,用
阅读全文
python超级函数eval()的用法
摘要:eval()可以将字符串,转换成原本的数据类型: 示例: 1:列表类型的str转换成列表: 2:字典类型的str转换成字典: 3:元祖类型的str转换成元祖: 4:布尔类型的str转换成布尔: 5:int类型的str转换成int:
阅读全文
unittest加载用例的3种方式
摘要:先了解unittest中最核心的4个概念: TestCase:一个testcase的实例就是一个测试用例 TestSuite:将多个用例集合在一起执行 TestLoader:用来加载,查找已test开头的测试用例到TestSuite里面 TextTestRunner:用来执行测试用例 fixture
阅读全文
重学ddt数据驱动
摘要:usage: import unittest from ddt import ddt,data,unpack test_data=[15826276815,'mg123456'],[5,6] @ddt class TestStudyDdt(unittest.TestCase): # todo 单个参
阅读全文
python之重学unittest框架
摘要:重学unittest框架。 自动化步骤: 1:写用例 TestCaase,所有用例已test_开头,一个用例就是一个函数,不能传参,只有self关键字。 2:写断言 Assert ,对比实际结果和期望结果 3:执行用例 1:TestSuite 存储用例 2:TestLoader 找用例,加载用例,存
阅读全文
python实现sign签名
摘要:sign签名是用于提供给外部(第三方)调用的接口,调用方需要提供正确的appkey钥匙才能调用,确保了接口的安全性。 签名参数sign生成方法: 假设有请求参数如下: appkey = "111222333" body = { "username": "Test", "Password": "123
阅读全文
python发送邮件yagmail的简单使用
摘要:yagmail发送邮件只需要3行代码就可以搞定,首先安装yagmail:pip install yagmail demo如下: 运行报错:SMTPAuthenticationError解决方法:https://blog.csdn.net/qq_39241986/article/details/813
阅读全文