import sys import os from hytest.common import SELENIUM_LOG_SCREEN sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..'))) from 运维集控.项目测试.运维标准版.lib.base import * #构建当前项目路径 sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..'))) # 构建 CSV 文件的绝对路径 csv_path = os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..', 'testdata', '03区域分组', '新增区域分组.csv')) class AreagroupAdd: tag = ['新增区域分组'] ddt_cases = read_csv_data(csv_path) def teststeps(self): wd = GSTORE['wd'] # 从self.para中解构出数据 name = self.name area_group, group_name, group_address, remark, info = self.para STEP(1, '点击新增按钮') areagroup_add = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]")) ) areagroup_add.click() STEP(2, f'查看并选择区域分组:{area_group}') if area_group: area_group_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "// input[ @ placeholder = '请选择分组']")) ) area_group_input.clear() area_group_input.send_keys(area_group) sleep(1) #默认选择第一个内容 area_group_select = WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "//div[@class='el-cascader__suggestion-panel el-scrollbar']//li[1]//span[1]")) ) area_group_select.click() else: print("group_name 为空,不执行选择区域分组的操作") STEP(3, f'填写分组名称:{group_name}') group_name_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "//input[@placeholder='长度1-20个字符']")) ) group_name_input.clear() group_name_input.send_keys(group_name) STEP(4, f'填写分组地址:{group_address}') group_address_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "//input[@placeholder='输入地址不能大于50个字符']")) ) group_address_input.clear() group_address_input.send_keys(group_address) STEP(5, f'填写分组备注:{remark}') group_remark = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请输入备注']")) ) group_remark.clear() group_remark.send_keys(remark) STEP(6, '点击确认') commit = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]")) ) commit.click() STEP(7, '验证是否新增成功') get_menu = WebDriverWait(wd, 10).until( EC.visibility_of_element_located((By.XPATH, "//p[@class='el-message__content']")) ) get_menu1 = get_menu.text CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == info ) # 截图并保存 SELENIUM_LOG_SCREEN(wd, "50%") sleep(1) wd.refresh()