Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
0e6421d7
提交
0e6421d7
authored
2月 06, 2025
作者:
彭甘宇
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、使用刷新方式清除登录的数据,避免异常;
2、调整用户登录的测试数据;
上级
8f1582a9
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
30 行增加
和
25 行删除
+30
-25
管理员登录.py
运维集控/项目测试/运维标准版/cases/01登录模块/管理员登录.py
+4
-3
01新增用户.py
运维集控/项目测试/运维标准版/cases/02用户管理/01新增用户.py
+3
-3
02查询用户.py
运维集控/项目测试/运维标准版/cases/02用户管理/02查询用户.py
+2
-2
03编辑用户.py
运维集控/项目测试/运维标准版/cases/02用户管理/03编辑用户.py
+2
-2
04删除用户.py
运维集控/项目测试/运维标准版/cases/02用户管理/04删除用户.py
+1
-1
base.py
运维集控/项目测试/运维标准版/lib/base.py
+4
-4
登录信息.csv
运维集控/项目测试/运维标准版/testdata/01登录模块/登录信息.csv
+3
-2
新增用户.csv
运维集控/项目测试/运维标准版/testdata/02用户管理/新增用户.csv
+1
-1
定时任务执行.py
运维集控/项目测试/运维标准版/定时任务执行.py
+4
-2
base.py
预定系统/Base/base.py
+2
-2
定时执行功能测试.py
预定系统/定时执行功能测试.py
+4
-3
没有找到文件。
运维集控/项目测试/运维标准版/cases/01登录模块/管理员登录.py
浏览文件 @
0e6421d7
from
hytest.common
import
DevOps_SELENIUM_LOG_SCREEN
from
hytest.common
import
DevOps_SELENIUM_LOG_SCREEN
from
win32trace
import
flush
from
运维集控
.
项目测试
.
运维标准版
.
lib
.
base
import
*
from
运维集控
.
项目测试
.
运维标准版
.
lib
.
base
import
*
...
@@ -28,16 +29,16 @@ class User_Login:
...
@@ -28,16 +29,16 @@ class User_Login:
#记录当前测试步骤:输出提示内容
#记录当前测试步骤:输出提示内容
STEP
(
2
,
f
'预期提示内容为:{info}'
)
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']"
))
EC
.
visibility_of_element_located
((
By
.
XPATH
,
"//p[@class='el-message__content']"
))
)
)
get_text
=
get_menu
.
text
get_text
=
get_menu
.
text
STEP
(
3
,
f
'实际获取登录提示内容:{get_text}'
)
# 检查点:验证是否跟预定结果一致
# 检查点:验证是否跟预定结果一致
CHECK_POINT
(
'校验提示内容是否跟预定结果一致'
,
get_text
==
info
)
CHECK_POINT
(
'校验提示内容是否跟预定结果一致'
,
get_text
==
info
)
# 截图并保存
# 截图并保存
DevOps_SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
)
DevOps_SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
)
wd
.
refresh
()
运维集控/项目测试/运维标准版/cases/02用户管理/01新增用户.py
浏览文件 @
0e6421d7
...
@@ -29,7 +29,7 @@ class UserAdd:
...
@@ -29,7 +29,7 @@ class UserAdd:
sleep
(
2
)
sleep
(
2
)
STEP
(
2
,
f
'填写登录名: {account}'
)
STEP
(
2
,
f
'填写登录名: {account}'
)
account_input
=
WebDriverWait
(
wd
,
1
0
)
.
until
(
account_input
=
WebDriverWait
(
wd
,
2
0
)
.
until
(
EC
.
presence_of_element_located
(
EC
.
presence_of_element_located
(
(
By
.
XPATH
,
"//input[@placeholder='登录名以字母开头,长度在5-18之间,只能包含字母、数字和下划线、@']"
))
(
By
.
XPATH
,
"//input[@placeholder='登录名以字母开头,长度在5-18之间,只能包含字母、数字和下划线、@']"
))
)
)
...
@@ -37,9 +37,9 @@ class UserAdd:
...
@@ -37,9 +37,9 @@ class UserAdd:
account_input
.
send_keys
(
account
)
account_input
.
send_keys
(
account
)
STEP
(
3
,
f
'填写用户名称: {user_name}'
)
STEP
(
3
,
f
'填写用户名称: {user_name}'
)
user_name_input
=
WebDriverWait
(
wd
,
1
0
)
.
until
(
user_name_input
=
WebDriverWait
(
wd
,
2
0
)
.
until
(
EC
.
presence_of_element_located
(
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
.
clear
()
user_name_input
.
send_keys
(
user_name
)
user_name_input
.
send_keys
(
user_name
)
...
...
运维集控/项目测试/运维标准版/cases/02用户管理/02查询用户.py
浏览文件 @
0e6421d7
...
@@ -14,13 +14,13 @@ class Userquery:
...
@@ -14,13 +14,13 @@ class Userquery:
STEP
(
1
,
'点击搜索框'
)
STEP
(
1
,
'点击搜索框'
)
user_query
=
WebDriverWait
(
wd
,
10
)
.
until
(
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
()
user_query
.
click
()
STEP
(
2
,
'填写登录名'
)
STEP
(
2
,
'填写登录名'
)
account_input
=
WebDriverWait
(
wd
,
10
)
.
until
(
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
.
clear
()
account_input
.
send_keys
(
"test_user1"
)
account_input
.
send_keys
(
"test_user1"
)
...
...
运维集控/项目测试/运维标准版/cases/02用户管理/03编辑用户.py
浏览文件 @
0e6421d7
...
@@ -14,7 +14,7 @@ class UserModify001:
...
@@ -14,7 +14,7 @@ class UserModify001:
STEP
(
1
,
'点击搜索框'
)
STEP
(
1
,
'点击搜索框'
)
user_query
=
WebDriverWait
(
wd
,
10
)
.
until
(
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
.
clear
()
user_query
.
send_keys
(
"test_user1"
)
user_query
.
send_keys
(
"test_user1"
)
...
@@ -33,7 +33,7 @@ class UserModify001:
...
@@ -33,7 +33,7 @@ class UserModify001:
STEP
(
4
,
'修改用户名称'
)
STEP
(
4
,
'修改用户名称'
)
account_name_input
=
WebDriverWait
(
wd
,
10
)
.
until
(
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
.
clear
()
account_name_input
.
send_keys
(
"test_update"
)
account_name_input
.
send_keys
(
"test_update"
)
...
...
运维集控/项目测试/运维标准版/cases/02用户管理/04删除用户.py
浏览文件 @
0e6421d7
...
@@ -13,7 +13,7 @@ class Userdelete001:
...
@@ -13,7 +13,7 @@ class Userdelete001:
STEP
(
1
,
'点击搜索框'
)
STEP
(
1
,
'点击搜索框'
)
user_query
=
WebDriverWait
(
wd
,
10
)
.
until
(
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
.
clear
()
user_query
.
send_keys
(
"test_user3"
)
user_query
.
send_keys
(
"test_user3"
)
...
...
运维集控/项目测试/运维标准版/lib/base.py
浏览文件 @
0e6421d7
...
@@ -70,21 +70,21 @@ def change_resolution(width, height):
...
@@ -70,21 +70,21 @@ def change_resolution(width, height):
def
user_login
(
username
,
password
,
captcha
):
def
user_login
(
username
,
password
,
captcha
):
wd
=
GSTORE
[
'wd'
]
wd
=
GSTORE
[
'wd'
]
INFO
(
f
'输入登录账号: {username}'
)
INFO
(
f
'输入登录账号: {username}'
)
username_input
=
WebDriverWait
(
wd
,
3
)
.
until
(
username_input
=
WebDriverWait
(
wd
,
10
)
.
until
(
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入登录账号']"
))
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入登录账号']"
))
)
)
username_input
.
clear
()
username_input
.
clear
()
username_input
.
send_keys
(
username
)
username_input
.
send_keys
(
username
)
INFO
(
f
'输入登录密码: {password}'
)
INFO
(
f
'输入登录密码: {password}'
)
password_input
=
WebDriverWait
(
wd
,
3
)
.
until
(
password_input
=
WebDriverWait
(
wd
,
10
)
.
until
(
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入登录密码']"
))
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入登录密码']"
))
)
)
password_input
.
clear
()
password_input
.
clear
()
password_input
.
send_keys
(
password
)
password_input
.
send_keys
(
password
)
INFO
(
f
'输入验证码:{captcha}'
)
INFO
(
f
'输入验证码:{captcha}'
)
captcha_input
=
WebDriverWait
(
wd
,
3
)
.
until
(
captcha_input
=
WebDriverWait
(
wd
,
10
)
.
until
(
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入验证码(区分大小写)']"
))
EC
.
presence_of_element_located
((
By
.
XPATH
,
"//input[@placeholder='请输入验证码(区分大小写)']"
))
)
)
captcha_input
.
clear
()
captcha_input
.
clear
()
...
@@ -95,7 +95,7 @@ def user_login(username, password, captcha):
...
@@ -95,7 +95,7 @@ def user_login(username, password, captcha):
EC
.
element_to_be_clickable
((
By
.
XPATH
,
"//div[@class='loginButton']"
))
EC
.
element_to_be_clickable
((
By
.
XPATH
,
"//div[@class='loginButton']"
))
)
)
login_button
.
click
()
login_button
.
click
()
sleep
(
2
)
sleep
(
1
)
def
validate_input
(
username
,
password
,
captcha
):
def
validate_input
(
username
,
password
,
captcha
):
if
not
isinstance
(
username
,
str
)
or
not
isinstance
(
password
,
str
)
or
not
isinstance
(
captcha
,
str
):
if
not
isinstance
(
username
,
str
)
or
not
isinstance
(
password
,
str
)
or
not
isinstance
(
captcha
,
str
):
...
...
运维集控/项目测试/运维标准版/testdata/01登录模块/登录信息.csv
浏览文件 @
0e6421d7
num,username,password,captcha,info
num,username,password,captcha,info
用户登录-001-登录账号为空,,ub@1234567,csba,请输入登录账号
用户登录-001-登录账号为空,,ub@1234567,csba,请输入登录账号
用户登录-002-登录密码为空,
test_user3
,,csba,请输入登录密码
用户登录-002-登录密码为空,
admin@pgy
,,csba,请输入登录密码
用户登录-003-验证码为空,
test_user4
,ub@1234567,,请输入验证码(区分大小写)
用户登录-003-验证码为空,
admin@pgy
,ub@1234567,,请输入验证码(区分大小写)
用户登录-004-登录账号不存在,test_user1,ub@1234567,csba,请检则用户名或密码是否正确!
用户登录-004-登录账号不存在,test_user1,ub@1234567,csba,请检则用户名或密码是否正确!
用户登录-005-登录密码错误,admin@pgy,ub@1234567,csba,输入的用户或密码不一致,
用户登录-005-登录密码错误,admin@pgy,ub@1234567,csba,输入的用户或密码不一致,
用户登录-006-正常登录,admin@pgy,ub@123456,csba,登录成功
用户登录-006-正常登录,admin@pgy,ub@123456,csba,登录成功
\ No newline at end of file
运维集控/项目测试/运维标准版/testdata/02用户管理/新增用户.csv
浏览文件 @
0e6421d7
name,account,user_name,new_passwd,comfire_passwd,authority,user_number,phone,email,remark,info
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,请输入登录名
新增用户-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个字符
新增用户-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,两次密码不一致
新增用户-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,密码不能和账号相同
新增用户-005-密码和账号相同,test_user1,test_user1,test_user1,Ubains@123,普通用户,13579,13169678901,test1@qq.com,test1,密码不能和账号相同
...
...
运维集控/项目测试/运维标准版/定时任务执行.py
浏览文件 @
0e6421d7
...
@@ -20,7 +20,6 @@ logging.basicConfig(
...
@@ -20,7 +20,6 @@ logging.basicConfig(
- cd .
\
运维集控
\
项目测试
\
运维标准版
\
- cd .
\
运维集控
\
项目测试
\
运维标准版
\
- python -m http.server 80 --directory log
- python -m http.server 80 --directory log
2.打开新终端输入:
2.打开新终端输入:
- cd .
\
运维集控
\
- cd .
\
运维集控
\
项目测试
\
运维标准版
\n
grok
\
- cd .
\
运维集控
\
项目测试
\
运维标准版
\n
grok
\
- .
\
start.bat
- .
\
start.bat
2.再打开一个终端输入:
2.再打开一个终端输入:
...
@@ -69,7 +68,10 @@ start_workers(3)
...
@@ -69,7 +68,10 @@ start_workers(3)
# 定义每天定时执行的任务
# 定义每天定时执行的任务
# 每天早上07:50执行后台系统设置功能测试
# 每天早上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
:
try
:
# 无限循环,持续检查并执行计划任务
# 无限循环,持续检查并执行计划任务
...
...
预定系统/Base/base.py
浏览文件 @
0e6421d7
...
@@ -68,8 +68,8 @@ def browser_init(login_type):
...
@@ -68,8 +68,8 @@ def browser_init(login_type):
# service = Service(ChromeDriverManager().install())
# service = Service(ChromeDriverManager().install())
# 手动指定ChromeDriver的路径
# 手动指定ChromeDriver的路径
# 自动化运行服务器的chromedriver路径:
# 自动化运行服务器的chromedriver路径:
service
=
Service
(
r'C:\Users\29194\AppData\Local\Programs\Python\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')
service
=
Service
(
r'C:\Program Files\Python310\Scripts\chromedriver.exe'
)
# 尝试创建WebDriver实例并执行初始化操作
# 尝试创建WebDriver实例并执行初始化操作
try
:
try
:
# 创建WebDriver实例
# 创建WebDriver实例
...
...
预定系统/定时执行功能测试.py
浏览文件 @
0e6421d7
...
@@ -11,7 +11,8 @@ import logging
...
@@ -11,7 +11,8 @@ import logging
- cd .
\
预定系统
\
- cd .
\
预定系统
\
- python -m http.server 80 --directory reports
- python -m http.server 80 --directory reports
2.打开新终端输入:
2.打开新终端输入:
- cd .
\
预定系统
\n
grok
\n
grok-调试主机
\
- cd .
\
预定系统
\
- cd .
\n
grok
\n
grok-调试主机
\
- .
\
start.bat
- .
\
start.bat
3.再打开一个终端输入:
3.再打开一个终端输入:
- cd .
\
预定系统
\
- cd .
\
预定系统
\
...
@@ -70,10 +71,10 @@ def start_workers(num_workers):
...
@@ -70,10 +71,10 @@ def start_workers(num_workers):
start_workers
(
3
)
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
:
try
:
# 无限循环,持续检查并执行计划任务
# 无限循环,持续检查并执行计划任务
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论