一、获取文件路径
1、获取当前文件的路径
os.path.realpath–获取绝对路径
os.path.abspath–获取配对路径
os.path.realpath(os.path.abspath(os.path.abspath(file)))
os.path.split(os.path.abspath(os.path.abspath(file)))[0]
os.getcwd()
2、获取当前文件上级目录
os.path.abspath(os.path.dirname(os.path.dirname(file)))
os.path.abspath(os.path.dirname(os.getcwd()))
二、文件读取
1、读取excel用例
from xlrd import open_workbook #调用读Excel的第三方库xlrd
class readExcel():
def get_xls(self, xls_name, sheet_name): # xls_name填写用例的Excel名称 sheet_name该Excel的sheet名称
cls = []
#获取用例文件路径
xlsPath =os.path.join(path, "testFile", 'case', xls_name)
file = open_workbook(xlsPath) #打开用例excel
sheet = file.sheet_by_name(sheet_name) #获取打开excel的sheet
#获取这个sheet的行数
nrows = sheet.nrows
for i in range(nrows): #根据行数做循环
if sheet.row_values(i)[0] !=u'case_name': #如果这个Excel的这个sheet的第i行的第一列不等于case_name那么我们把这行的数据添加到cls[]
cls.append(sheet.row_values(i))
return cls
2、读取配置文件
config = configparser.ConfigParser() # 调用外部的读取配置文件的方法
config.read(config_path, encoding='utf-8')
class ReadConfig():
def get_http(self, name):
value = config.get('HTTP', name)
return value
def get_email(self, name):
value = config.get('EMAIL', name)
return value
def get_mysql(self, name): # 写好,留以后备用。但是因为我们没有对数据库的操作,所以这个可以屏蔽掉
value = config.get('DATABASE', name)
return value
def get_app(self, name): #获取配置文件中的appkey,appSecret
value = config.get('APP', name)
return value
def get_user(self, name): #获取登录用户
value = config.get('USER', name)
return value
3、读取xml文件
import os
from lib2to3.pgen2.grammar import line
import getpathInfo
from xml.etree import ElementTree as ElementTree
path = getpathInfo.get_Path()
database = {}
# class readXml():
def get_xml():
if len(database) == 0:
sql_path = os.path.join(path, "testFile", "SQL.xml")
tree = ElementTree.parse(sql_path)
for db in tree.findall("database"):
db_name = db.get("name")
#print(db_name)
table = {}
for tb in db.getchildren():
table_name = tb.get("name")
#print(table_name)
sql = {}
for data in tb.getchildren():
sql_id = data.get("id")
#print(sql_id)
sql[sql_id] = data.text
table[table_name] = sql
database[db_name] = table
def get_xml_dict(database_name, table_name):
"""
get db dict by given name
:param database_name:
:param table_name:
:return:
"""
get_xml()
database_dict = database.get(database_name).get(table_name)
return database_dict
def get_sql(database_name, table_name, sql_id):
"""
get sql by given name and sql_id
:param database_name:
:param table_name:
:param sql_id:
:return:
"""
db = get_xml_dict(database_name, table_name)
sql = db.get(sql_id)
return sql