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 * class UserModify001: name = '修改用户-001-修改用户全部信息' def teststeps(self): wd = GSTORE['wd'] STEP(1, '点击搜索框') user_query = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入名称']")) ) user_query.clear() user_query.send_keys("test_user1") STEP(2, '勾选用户') select_click= WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]")) ) select_click.click() STEP(3, '点击编辑按钮') user_update = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'编辑')]")) ) user_update.click() STEP(4, '修改用户名称') account_name_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located((By.XPATH, "//div[contains(@class,'dialog-input')]//input[contains(@placeholder,'请输入名称')]")) ) account_name_input.clear() account_name_input.send_keys("test_update") STEP(5, '勾选修改密码按钮') user_passwd_click = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//span[@class='el-checkbox__label']")) ) user_passwd_click.click() sleep(2) STEP(6, '填写当前用户密码') current_passwd = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请输当前登录用户的密码']")) ) current_passwd.clear() current_passwd.send_keys("ub@123456") STEP(7, '填写新密码') newpasswd = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='必须包含字母(不区分大小写)、数字和特殊字符,至少8个字符']")) ) newpasswd.clear() newpasswd.send_keys("ub@12345678") STEP(8, '填写确认密码') verify_passwd = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请确认密码']")) ) verify_passwd.clear() verify_passwd.send_keys("ub@12345678") STEP(9, '填写用户工号') sepasswd_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请输入工号']")) ) sepasswd_input.clear() sepasswd_input.send_keys("123456") STEP(9, '填写手机号') phone = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请输入手机号码']")) ) phone.clear() phone.send_keys("13169131242") STEP(10, '填写邮箱') sepasswd_input = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='请输入邮箱']")) ) sepasswd_input.clear() sepasswd_input.send_keys("12341@qq.com") STEP(11, '填写备注') user_remark = WebDriverWait(wd, 10).until( EC.presence_of_element_located( (By.XPATH, "//input[@placeholder='备注']")) ) user_remark.clear() user_remark.send_keys("测试用户") STEP(12, '点击确认') commit = WebDriverWait(wd, 10).until( EC.element_to_be_clickable((By.XPATH, "//div[@aria-label='编辑']//span[contains(text(),'确 定')]")) ) commit.click() STEP(13, '验证是否编辑成功') get_menu = WebDriverWait(wd, 10).until( EC.visibility_of_element_located((By.XPATH, "//p[contains(@class,'el-message__content')]")) ) get_menu1 = get_menu.text CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!") # 截图并保存 SELENIUM_LOG_SCREEN(wd, "50%") wd.refresh()