提交 0e6421d7 authored 作者: 彭甘宇's avatar 彭甘宇

1、使用刷新方式清除登录的数据,避免异常;

2、调整用户登录的测试数据;
上级 8f1582a9
from hytest.common import DevOps_SELENIUM_LOG_SCREEN
from win32trace import flush
from 运维集控.项目测试.运维标准版.lib.base import *
......@@ -28,16 +29,16 @@ class User_Login:
#记录当前测试步骤:输出提示内容
STEP(2, f'预期提示内容为:{info}')
# 记录当前测试步骤:验证是否登录成功
STEP(3, '获取登录提示内容')
# 等待系统首页的特定元素(如图片)可见
get_menu = WebDriverWait(wd, 5).until(
get_menu = WebDriverWait(wd, 10).until(
EC.visibility_of_element_located((By.XPATH, "//p[@class='el-message__content']"))
)
get_text = get_menu.text
STEP(3, f'实际获取登录提示内容:{get_text}')
# 检查点:验证是否跟预定结果一致
CHECK_POINT('校验提示内容是否跟预定结果一致', get_text == info)
# 截图并保存
DevOps_SELENIUM_LOG_SCREEN(wd, "50%")
wd.refresh()
......@@ -29,7 +29,7 @@ class UserAdd:
sleep(2)
STEP(2, f'填写登录名: {account}')
account_input = WebDriverWait(wd, 10).until(
account_input = WebDriverWait(wd, 20).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='登录名以字母开头,长度在5-18之间,只能包含字母、数字和下划线、@']"))
)
......@@ -37,9 +37,9 @@ class UserAdd:
account_input.send_keys(account)
STEP(3, f'填写用户名称: {user_name}')
user_name_input = WebDriverWait(wd, 10).until(
user_name_input = WebDriverWait(wd, 20).until(
EC.presence_of_element_located(
(By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入用户名称']"))
(By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入名称']"))
)
user_name_input.clear()
user_name_input.send_keys(user_name)
......
......@@ -14,13 +14,13 @@ class Userquery:
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入名称']"))
)
user_query.click()
STEP(2, '填写登录名')
account_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入用户名称']"))
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入名称']"))
)
account_input.clear()
account_input.send_keys("test_user1")
......
......@@ -14,7 +14,7 @@ class UserModify001:
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入名称']"))
)
user_query.clear()
user_query.send_keys("test_user1")
......@@ -33,7 +33,7 @@ class UserModify001:
STEP(4, '修改用户名称')
account_name_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[contains(@class,'dialog-input')]//input[contains(@placeholder,'请输入用户名称')]"))
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")
......
......@@ -13,7 +13,7 @@ class Userdelete001:
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入名称']"))
)
user_query.clear()
user_query.send_keys("test_user3")
......
......@@ -70,21 +70,21 @@ def change_resolution(width, height):
def user_login(username, password, captcha):
wd = GSTORE['wd']
INFO(f'输入登录账号: {username}')
username_input = WebDriverWait(wd, 3).until(
username_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入登录账号']"))
)
username_input.clear()
username_input.send_keys(username)
INFO(f'输入登录密码: {password}')
password_input = WebDriverWait(wd, 3).until(
password_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入登录密码']"))
)
password_input.clear()
password_input.send_keys(password)
INFO(f'输入验证码:{captcha}')
captcha_input = WebDriverWait(wd, 3).until(
captcha_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入验证码(区分大小写)']"))
)
captcha_input.clear()
......@@ -95,7 +95,7 @@ def user_login(username, password, captcha):
EC.element_to_be_clickable((By.XPATH, "//div[@class='loginButton']"))
)
login_button.click()
sleep(2)
sleep(1)
def validate_input(username, password, captcha):
if not isinstance(username, str) or not isinstance(password, str) or not isinstance(captcha, str):
......
num,username,password,captcha,info
用户登录-001-登录账号为空,,ub@1234567,csba,请输入登录账号
用户登录-002-登录密码为空,test_user3,,csba,请输入登录密码
用户登录-003-验证码为空,test_user4,ub@1234567,,请输入验证码(区分大小写)
用户登录-002-登录密码为空,admin@pgy,,csba,请输入登录密码
用户登录-003-验证码为空,admin@pgy,ub@1234567,,请输入验证码(区分大小写)
用户登录-004-登录账号不存在,test_user1,ub@1234567,csba,请检则用户名或密码是否正确!
用户登录-005-登录密码错误,admin@pgy,ub@1234567,csba,输入的用户或密码不一致,
用户登录-006-正常登录,admin@pgy,ub@123456,csba,登录成功
\ No newline at end of file
name,account,user_name,new_passwd,comfire_passwd,authority,user_number,phone,email,remark,info
新增用户-001-登录名为空,,test_user1,Ubains@123,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,请输入登录名
新增用户-002-用户名称为空,test_user1,,Ubains@123,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,请输入用户名称
新增用户-002-用户名称为空,test_user1,,Ubains@123,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,请输入名称
新增用户-003-密码为空,test_user1,test_user1,,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,密码至少8个字符
新增用户-004-确认密码为空,test_user1,test_user1,Ubains@123,,普通用户,13579,13169678901,test1@qq.com,test1,两次密码不一致
新增用户-005-密码和账号相同,test_user1,test_user1,test_user1,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,密码不能和账号相同
......
......@@ -20,7 +20,6 @@ logging.basicConfig(
- cd .\运维集控\项目测试\运维标准版\
- python -m http.server 80 --directory log
2.打开新终端输入:
- cd .\运维集控\
- cd .\运维集控\项目测试\运维标准版\ngrok\
- .\start.bat
2.再打开一个终端输入:
......@@ -69,7 +68,10 @@ start_workers(3)
# 定义每天定时执行的任务
# 每天早上07:50执行后台系统设置功能测试
schedule.every().day.at("09:00").do(run_task, run_automation_test, report_title="运维系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检")
# schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="运维系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检")
# 调试使用
schedule.every().day.at("09:59").do(run_task, run_automation_test, report_title="运维系统脚本调试", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检")
try:
# 无限循环,持续检查并执行计划任务
......
......@@ -68,8 +68,8 @@ def browser_init(login_type):
# service = Service(ChromeDriverManager().install())
# 手动指定ChromeDriver的路径
# 自动化运行服务器的chromedriver路径:
service = Service(r'C:\Users\29194\AppData\Local\Programs\Python\Python310\Scripts\chromedriver.exe')
# service = Service(r'C:\Program Files\Python310\Scripts\chromedriver.exe')
# service = Service(r'C:\Users\29194\AppData\Local\Programs\Python\Python310\Scripts\chromedriver.exe')
service = Service(r'C:\Program Files\Python310\Scripts\chromedriver.exe')
# 尝试创建WebDriver实例并执行初始化操作
try:
# 创建WebDriver实例
......
......@@ -11,7 +11,8 @@ import logging
- cd .\预定系统\
- python -m http.server 80 --directory reports
2.打开新终端输入:
- cd .\预定系统\ngrok\ngrok-调试主机\
- cd .\预定系统\
- cd .\ngrok\ngrok-调试主机\
- .\start.bat
3.再打开一个终端输入:
- cd .\预定系统\
......@@ -70,10 +71,10 @@ def start_workers(num_workers):
start_workers(3)
# 定时执行预定系统测试任务
# schedule.every().day.at("09:00").do(run_task, run_automation_test, report_title="预定系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="预定系统功能", ding_type="标准版巡检")
schedule.every().day.at("09:00").do(run_task, run_automation_test, report_title="预定系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="预定系统功能", ding_type="标准版巡检")
# 定时执行展厅巡检任务
schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检")
# schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检")
try:
# 无限循环,持续检查并执行计划任务
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论