接口自动化(六):用到的库和方法学习和总结
今天是很丧的一天,无关天气~
主要是在优化脚本,在修改到第5个问题的时候,我不爽了;
所以,今天只能给大家截取在脚本里用到的一些库和方法,一起学习下。
1.configparser库,解析.ini配置文件
#实例化
cf = configparser.ConfigParser()
#读取.ini配置文件
cf.read(file_name,encoding="utf-8")
#获取section下,某一Option的值 ,如cf.get("DATABASE",“username”)
cf.get(section,option)
2.os库,获取文件路径或目录
# 获取当前文件的路径
file_path = os.path.realpath(__file__)
# 拆分当前路径,获取当前目录
pro_path = os.path.split(file_path)[0]
# 拼接config.ini的路径
lists = os.listdir(report_dir) #取目录下文件
config_path = os.path.join(pro_path,"config.ini")
3、Mock,模拟返回值
# 使用mock.Mock方法设置“模拟值”,并将其赋值给mock_method
mock_method = mock.Mock(return_value = response_data)
# 调用mock_method方法,可获得 返回值=模拟值,即res= return_value
res = mock_method(method,url,request_data,header)
4、xlrd,操作excel
# 打开excel文件为避免报错,在地址前面加r转译
wb = xlrd.open_workbook(r"C:\Program Files\JetBrains\PyCharm 2019.2.5\scripts\InterFace_Test\Case\test_data.xlsx")
# 通过表名获得表的数据
table = wb.sheet_by_name("testing")
# 获取总行数及总列数
row_Num = table.nrows
col_Num = table.ncols
5、smtplib库,邮件设置和发送
# 构建根容器,邮件正文是MIMETEXT
self.msg = MIMEMultipart(self.mail_body,"html","utf-8")
# 设置邮件接收、发送者、主题
self.msg["Sbuject"] =self.subject
self.msg["From"] =self.sender
self.msg["To"] =";".join(self.receiver)
smtp = smtplib.SMTP()
# 连接邮箱服务器
smtp.connect(self.smtpsever,self.port)
# 输入用户名、密码
smtp.login(self.username,self.password)
# 输入发送人、接收人及邮件内容
smtp.sendmail(self.sender,self.receiver,self.msg.as_string())
6、其他函数
# 将表头与每行数据利用zip函数生成字典
temp =dict(zip(keys,table.row_values(i)))
# json与字典互换
json.loads(str)
json.dumps(dict)