库
一、基础库
1.1介绍:
os库是Python标准库,常用的有路径操作、获取系统、环境变量等。在我们工作中最常用到os库中的有 获取当前路径"os.path.dirname(_ _ file _ _)" 、获取当前路径的上一层路径“os.path.dirname(os.path.dirname( _ file _ _))”、还有路径的拼接“os.path.join(目录、目录、文件)” 这些来处理一些路径的问题。
1.2使用:
用库之前都要先导入库 import os
获取当前路径
os.getcwd()

获取目录下的所有文件和文件夹

获取当前路径

拼接路径
比如在a1.py文件下要读取longin.txt文件时,就要先得到login.txt文件的路径,那么就要先回到当前目录的上一级目录,如何再进入config,就需要路径拼接。步骤是先获取到当前目录的上一级目录 把它放在一个变量中,然后拼接路径进入到login.txt路径, 再使用with open 来读取文件。

获取操作系统

获取环境变量

2、time
2.1介绍
提供了各种与时间相关的内容。在自动化测试的时候,需要休眠代码,为了能更好的定位到元素,我们使用的就是time库中的time.sleep()。另外还有一些获取时间戳time.time()、中国时间格式time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())都是比较常用的
2.2使用
用库之前先导入库 import time
获取时间戳

当前时间字符串格式

休眠

表述休眠两秒后执行操作
获取当前时间

获取当前的年(月、日、时、分、秒)

中国时间格式:

3、datetime
3.1介绍
也是表示时间的,相比time会更加直观。
3.2使用
导入库:import datetime
获取当前时间

在当前时间的基础上添加时间
时间戳转换格式

4、json
4.1介绍
主要应用于序列化和反序列化的处理。序列化利于持久化的存储和传输数据。
python数据类型中字典、元组、列表的序列化是使用json.dumps,反序列化是使用json.loads。文件的序列化是json.dump ,文件的反序列化是json.load。
如在自动化测试中,我们使用数据驱动,把测试用到的数据分离出来,放在json文件中,那么在测试中调用json文件的数据就是一个反序列化的过程,使用json.load()并且搭配open操作文件。
4.2使用
pyhton对象的序列化和反序列化:
序列化:json.dumps
利于持久化的存储和传输数据,也就是把python数据类型(字典、元组、列表)转为str类型存入文件
反序列化:json.loads
就是把str类型转为python对象,用于读取数据

文件的序列化和反序列化:
进行文件的读取和保存
目的:
1、有利于持久化的保存
2、有利于传输
3、有利于维护
序列化:json.dump(目标内容,文件操作,编码处理)
反序列化:json.load(读取文件操作)

序列化和反序列化一般会搭配文件操作和编码一起使用,反序列需要print
5、hashlib
主要是涉及md5的加密算法。
加密三步:
1、先对请求参数进行排序(请求参数一般是字典类型)
2、以key做为排序,排序成key=value....格式
3、进行md5 加密

6、sys
系统相关的参数和函数。 sys 库一般用来访问和修改系统相关信息,比如查看 python 版本、系统环境变量、模块信息和 python 解释器相关信息等等。
二、测试相关的库
2.1 selenium
介绍:
WEB自动化测试的根据,支持很多主流的浏览器自动化测试,如Chrome IE Firefox,能够真实模拟用户的操作行为,比如定位我们页面的元素,对页面的元素进行一系列的操作。
导入库
对类进行实例化,指定测试的浏览器,driver为webdriver类的对象
导航到被测试的网址
使用元素定位的八大方法 来定位元素 ,进行操作
退出浏览器

元素定位:
find_elements_by_是类的实例方法:
id name class_name xpath css link_text partial_link_text tag_name
2.2unittest 标准库
介绍:
unittest库提供了创建测试用例、测试套件和批量执行测试用例的方案,有丰富的断言方法,能够判断测试用例是否通过,最终生成测试结果。
步骤:
初始化 (获取浏览器驱动对象driver,打开网页、最大化浏览器、隐式等待)
测试 步骤
断言
清理(关闭浏览器)
单元测试框架包括内容:
测试固件 初始化setUp() 清理tearDown()
测试用例 TestCase
测试套件 TestSuite
测试执行 TestRunner
测试报告 TestReport


浙公网安备 33010602011771号