Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
f68da190
提交
f68da190
authored
5月 07, 2025
作者:
彭甘宇
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增成都太行项目,实现成都太行预定会议的部分功能自动化;
上级
a1ec7d2d
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
93 行增加
和
1 行删除
+93
-1
bases.py
统一平台/base/bases.py
+4
-1
01新建会议.py
统一平台/cases/成都太行项目/01新建会议.py
+54
-0
__init__.py
统一平台/cases/成都太行项目/__init__.py
+0
-0
__st__.py
统一平台/cases/成都太行项目/__st__.py
+35
-0
没有找到文件。
统一平台/base/bases.py
浏览文件 @
f68da190
...
...
@@ -64,6 +64,8 @@ def browser_init(login_type):
options
.
add_argument
(
'--disable-blink-features=AutomationControlled'
)
# 允许不安全的本地主机运行,通常用于开发和测试环境
options
.
add_argument
(
'--allow-insecure-localhost'
)
# 使用无痕窗口
options
.
add_argument
(
'--incognito'
)
# 使用webdriver_manager自动下载并管理chromedriver
driver_path
=
ChromeDriverManager
()
.
install
()
...
...
@@ -87,6 +89,7 @@ def browser_init(login_type):
GSTORE
[
'wd'
]
=
wd
# 标记初始化过程完成
INFO
(
"'----------' 浏览器初始化完成 '----------'"
)
return
wd
except
Exception
as
e
:
# 捕获并记录初始化过程中的任何异常
logging
.
error
(
f
"浏览器初始化失败:{e}"
)
...
...
@@ -211,7 +214,7 @@ def safe_send_keys(element_locator, value, wd):
element
=
WebDriverWait
(
wd
,
5
)
.
until
(
EC
.
visibility_of_element_located
(
element_locator
))
element
.
clear
()
# 清除元素的当前值
element
.
send_keys
(
value
)
# 向元素发送指定的键值
sleep
(
3
)
element
.
send_keys
(
Keys
.
ENTER
)
# 模拟按下回车键
except
TimeoutException
:
# 如果元素在指定时间内未被找到或不可点击,打印超时异常信息
INFO
(
f
"超时异常:元素 {element_locator} 在20秒内未找到或无法点击。"
)
...
...
统一平台/cases/成都太行项目/01新建会议.py
0 → 100644
浏览文件 @
f68da190
import
sys
import
os
from
win32trace
import
flush
# 获取当前脚本的绝对路径
current_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# 构建统一平台的绝对路径
platform_path
=
os
.
path
.
abspath
(
os
.
path
.
join
(
current_dir
,
'..'
,
'..'
,
'..'
))
# 添加路径
sys
.
path
.
append
(
platform_path
)
# 导入模块
from
统一平台
.
base
.
bases
import
*
# 获取当前脚本所在的目录
current_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# 构建XLSX文件的绝对路径
xlsx_file_path
=
os
.
path
.
join
(
current_dir
,
'..'
,
'..'
,
'data'
,
'统一平台PC端测试用例.xlsx'
)
class
Unified_Platform_0001
:
#执行指令:
# cd ./统一平台/
# hytest --tag 成都太行
tags
=
[
'会议预定'
,
'成都太行'
]
ddt_cases
=
read_xlsx_data
(
xlsx_file_path
,
sheet_name
=
"新建会议&"
)
def
teststeps
(
self
):
wd
=
GSTORE
[
'wd'
]
name
=
self
.
name
wd
.
refresh
()
for
step
in
self
.
para
:
locator_type
=
get_by_enum
(
step
.
get
(
'locator_type'
))
locator_value
=
step
.
get
(
'locator_value'
)
element_type
=
step
.
get
(
'element_type'
)
element_value
=
step
.
get
(
'element_value'
)
expented_result
=
step
.
get
(
'expented_result'
)
print
(
f
"执行JSON:{step}"
)
# # 添加刷新页面的判断
# if element_type == "refresh":
# wd.refresh()
if
step
.
get
(
"page"
)
==
"HomeCDTH"
:
if
element_type
==
"input"
:
safe_send_keys
((
locator_type
,
locator_value
),
element_value
,
wd
)
sleep
(
1
)
elif
element_type
==
"click"
:
safe_click
((
locator_type
,
locator_value
),
wd
)
sleep
(
1
)
elif
element_type
==
"getText"
:
# 获取提示文本
notify_text
=
elment_get_text
((
locator_type
,
locator_value
),
wd
)
INFO
(
f
"获取弹窗提示内容为:{notify_text}"
)
CHECK_POINT
(
"判断是否跟预期一致"
,
expented_result
==
notify_text
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
)
\ No newline at end of file
统一平台/cases/成都太行项目/__init__.py
0 → 100644
浏览文件 @
f68da190
统一平台/cases/成都太行项目/__st__.py
0 → 100644
浏览文件 @
f68da190
import
sys
import
os
from
time
import
sleep
# 获取当前脚本的绝对路径
current_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# 构建统一平台的绝对路径
platform_path
=
os
.
path
.
abspath
(
os
.
path
.
join
(
current_dir
,
'..'
,
'..'
,
'..'
))
# 添加路径
sys
.
path
.
append
(
platform_path
)
# 导入模块
try
:
from
统一平台
.
base
.
bases
import
*
except
ModuleNotFoundError
as
e
:
print
(
f
"ModuleNotFoundError: {e}"
)
print
(
"尝试使用绝对路径导入"
)
from
统一平台
.
base
.
bases
import
*
def
suite_setup
():
STEP
(
1
,
"初始化浏览器"
)
browser_init
(
"成都太行"
)
wd
=
GSTORE
[
'wd'
]
STEP
(
2
,
"登录系统"
)
safe_send_keys
((
By
.
XPATH
,
"//input[@placeholder='手机号/用户名/邮箱']"
),
"admin@pgy"
,
wd
)
safe_send_keys
((
By
.
XPATH
,
"//input[@placeholder='密码']"
),
"Ubains@1357"
,
wd
)
safe_send_keys
((
By
.
XPATH
,
"//input[@placeholder='图形验证']"
),
"csba"
,
wd
)
safe_click
((
By
.
XPATH
,
"//span[@class='el-checkbox__inner']"
),
wd
)
sleep
(
2
)
safe_click
((
By
.
XPATH
,
"//div[@id='pane-1']//div//span[contains(text(),'登录')]"
),
wd
)
sleep
(
2
)
def
suite_teardown
():
browser_quit
()
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论