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 elements
3.读取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 elements
3.读取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