songerxing 2020-05-03

1.excel做数据源时表格设计

2.读取出excel文件内元素组装成数组形式返回
conf = ConfigUtils()
elements_path=conf.get_elements_url
class ElementExcelData:
def __init__(self, sheet_name, element_path=elements_path):
self.element_path = element_path
# 打开excel文件
self.workbook = xlrd.open_workbook(self.element_path)
# sheet页名
self.sheet = self.workbook.sheet_by_name(sheet_name)
# 获取行数
self.row_count = self.sheet.nrows
def get_element_info(self):
elements_info={}
for i in range(1, self.row_count):
element_info = {}
element_info[‘element_name‘] = self.sheet.cell_value(i, 1)
element_info[‘locator_type‘] = self.sheet.cell_value(i, 3)
element_info[‘locator_value‘] = self.sheet.cell_value(i, 4)
element_info[‘timeout‘] = int(self.sheet.cell_value(i, 5))
elements_info[self.sheet.cell_value(i, 0)] = element_info
return elements_info
def get_page_info(sheet_name):
element_data = ElementExcelData(sheet_name)
elements = element_data.get_element_info()
return elements3.读取excel为数据源
# 读取excel为数据源
elements = get_page_info(‘Login‘)
class LoginPage(BasePage):
def __init__(self,driver):
super().__init__(driver)
# 方式三:
self.username_inputbox = elements[‘username_inputbox‘]
self.password_inputbox = elements[‘password_inputbox‘]
self.login_button = elements[‘login_button‘]1.yaml文件做数据源时.yml设计方式

2.读取出yaml文件内元素
conf = ConfigUtils()
elements_yaml_url=conf.get_elements_yaml_url
class ElementYamlData:
def __init__(self, sheet_name, element_path=elements_yaml_url):
self.sheet_name =sheet_name
# 打开yaml文件
self.file = open(element_path, ‘r‘, encoding=‘utf-8‘)
# 读出yaml文件全部内容
self.yaml_content = self.file.read()
def read_yaml(self):
yaml_list = yaml.load(self.yaml_content,Loader=yaml.FullLoader)
elements = yaml_list[self.sheet_name]
return elements3.读取yaml文件为数据源
# 读取yaml文件为数据源
element_infos = ElementYamlData(‘LoginPage‘)
elements=element_infos.read_yaml()
class LoginPage(BasePage):
def __init__(self,driver):
super().__init__(driver)
# 方式三:
self.username_inputbox = elements[‘username_inputbox‘]
self.password_inputbox = elements[‘password_inputbox‘]
self.login_button = elements[‘login_button‘] 5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin