Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
test_platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Wallen姚文辉
test_platform
Commits
79db7067
Commit
79db7067
authored
Oct 31, 2024
by
Wallen姚文辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加功能
parent
b76ead2b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
196 additions
and
12 deletions
+196
-12
Tool.py
controller/Tool.py
+52
-8
appUitest.py
controller/appUitest.py
+3
-1
socketevent.py
controller/socketevent.py
+134
-0
serverCenter.py
manager/serverCenter.py
+6
-0
test.py
test.py
+1
-3
No files found.
controller/Tool.py
View file @
79db7067
...
...
@@ -92,7 +92,7 @@ def reportinfo():
# project=request.args.get("project")
iteration
=
request
.
args
.
get
(
"iteration"
)
id_
=
request
.
args
.
get
(
"view"
)
print
(
id_
)
print
headers
=
getheader
(
session
.
get
(
"id"
))
# id_=requests.request("get",jiraAddress+"/rest/agile/1.0/board?projectKeyOrId="+project,headers=headers).json().get("values")[0].get("id")
result
=
requests
.
request
(
"get"
,
jiraAddress
+
"/rest/greenhopper/1.0/xboard/plan/backlog/data.json?rapidViewId="
+
str
(
id_
),
headers
=
headers
)
.
json
()
...
...
@@ -235,7 +235,6 @@ def uploadhistory():
@
tool
.
route
(
'/testcase/upload'
,
methods
=
[
"POST"
])
def
run
():
a
=
Uploadecase
(
project
=
request
.
form
.
get
(
"projectName"
),
user_id
=
session
.
get
(
"id"
),
step
=
0
,
stepstatus
=
0
,
status
=
0
,
create_time
=
time
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
,
time
.
localtime
(
time
.
time
())))
if
'file'
not
in
request
.
files
:
a
.
stepstatus
=
1
...
...
@@ -260,14 +259,15 @@ def run():
upid
=
a
.
id
db
.
session
.
commit
()
db
.
session
.
close
()
server
.
socketio
.
start_background_task
(
runstart
,
current_app
.
_get_current_object
(),
file_name
,
request
.
form
.
get
(
"project"
),
upid
,
session
.
get
(
"id"
))
server
.
socketio
.
start_background_task
(
runstart
,
current_app
.
_get_current_object
(),
file_name
,
request
.
form
.
get
(
"project"
),
request
.
form
.
get
(
"view"
),
upid
,
session
.
get
(
"id"
))
server
.
socketio
.
emit
(
"infoupdate"
,
room
=
upid
)
return
jsonify
({
"code"
:
200
,
"message"
:
"上传成功"
}),
200
def
runstart
(
app
,
file_name
,
project
,
upid
,
user_id
):
def
runstart
(
app
,
file_name
,
project
,
view
,
upid
,
user_id
):
with
app
.
app_context
():
headers
=
getheader
(
user_id
)
id_
=
requests
.
request
(
"get"
,
jiraAddress
+
"/rest/agile/1.0/board?projectKeyOrId="
+
project
,
headers
=
headers
)
.
json
()
.
get
(
"values"
)[
0
]
.
get
(
"id"
)
# id_=requests.request("get",jiraAddress+"/rest/agile/1.0/board?projectKeyOrId="+project,headers=headers).json().get("values")[0].get("id")
id_
=
view
result
=
requests
.
request
(
"get"
,
jiraAddress
+
"/rest/greenhopper/1.0/xboard/plan/backlog/data.json?rapidViewId="
+
str
(
id_
),
headers
=
headers
)
.
json
()
projectId
,
projectkey
=
result
[
"projects"
][
0
][
"id"
],
result
[
"projects"
][
0
][
"key"
]
data
=
{
"fields"
:
{
...
...
@@ -622,8 +622,52 @@ def delreport(id_):
db
.
session
.
commit
()
db
.
session
.
close
()
return
jsonify
({
"code"
:
200
,
"message"
:
"删除成功"
})
\ No newline at end of file
@
tool
.
route
(
'makesendletter'
,
methods
=
[
"POST"
])
def
makesendletter
():
data
=
request
.
json
print
(
data
)
if
data
[
'type'
]
==
"获批"
:
a
=
requests
.
post
(
'http://192.168.11.169:9876/mksendapprovalletter'
,
json
=
{
"name"
:
data
.
get
(
"name"
),
"fileNumber"
:
data
.
get
(
"fileNumber"
),
"deadline"
:
data
.
get
(
"deadline"
),
"getday"
:
data
.
get
(
"getday"
),
"environment"
:
data
.
get
(
"environment"
)})
result
,
code
=
a
.
json
(),
a
.
status_code
elif
data
[
"type"
]
==
"拒签"
:
a
=
requests
.
post
(
'http://192.168.11.169:9876/mksendapprovalletter'
,
json
=
{
"type"
:
"ycj"
,
"name"
:
data
.
get
(
"name"
),
"fileNumber"
:
data
.
get
(
"fileNumber"
),
"deadline"
:
data
.
get
(
"deadline"
),
"getday"
:
data
.
get
(
"getday"
),
"environment"
:
data
.
get
(
"environment"
)})
result
,
code
=
a
.
json
(),
a
.
status_code
elif
data
[
"type"
]
==
"补件"
:
a
=
requests
.
post
(
'http://192.168.11.169:9876/mksendapprovalletter'
,
json
=
{
"type"
:
"ycs"
,
"name"
:
data
.
get
(
"name"
),
"fileNumber"
:
data
.
get
(
"fileNumber"
),
"deadline"
:
data
.
get
(
"deadline"
),
"getday"
:
data
.
get
(
"getday"
),
"environment"
:
data
.
get
(
"environment"
)})
result
,
code
=
a
.
json
(),
a
.
status_code
else
:
result
=
{
"code"
:
403
,
"message"
:
"暂不支持该类型"
}
code
=
403
return
jsonify
(
result
),
code
@
tool
.
route
(
'makesendvisa'
,
methods
=
[
"POST"
])
def
makesendvisa
():
data
=
request
.
json
env
=
data
[
"environment"
]
del
data
[
"environment"
]
a
=
requests
.
post
(
'http://192.168.11.169:9876/makeVisaUpload'
,
json
=
data
)
result
,
code
=
a
.
json
(),
a
.
status_code
if
code
!=
200
:
jsonify
({
"code"
:
503
,
"message"
:
"制作电子签证异常"
}),
500
info
=
{
"file_number"
:
data
[
"file_number"
],
"order_id"
:
data
[
"order_id"
],
"return_status_text"
:
"已缴费"
,
"file"
:
result
[
"url"
],
"result_image"
:
"https://galaxy-immi-mp.oss-cn-shenzhen.aliyuncs.com/202310/QMEN-0040406-22-1697700802.png"
}
if
env
==
1
:
code
=
requests
.
post
(
'https://test-crm-inner.galaxy-immi.com/business/orderFileNumberAPI/order_file_number_result_log'
,
info
)
.
status_code
elif
env
==
2
:
code
=
requests
.
post
(
'https://colnet.galaxy-immi.com/business/orderFileNumberAPI/order_file_number_result_log'
,
info
)
.
status_code
else
:
return
jsonify
({
"code"
:
403
,
"message"
:
"环境异常"
}),
403
if
code
==
200
:
return
jsonify
({
"code"
:
200
,
"message"
:
"发送成功"
}),
200
else
:
return
jsonify
({
"code"
:
502
,
"message"
:
"影刀接口调用失败"
}),
502
\ No newline at end of file
controller/appUitest.py
View file @
79db7067
...
...
@@ -114,4 +114,6 @@ def download_file():
else
:
file_path
=
os
.
path
.
join
(
bath_path
,
path
)
+
"/"
+
name
print
(
222
)
return
send_file
(
file_path
,
as_attachment
=
True
)
\ No newline at end of file
return
send_file
(
file_path
,
as_attachment
=
True
)
controller/socketevent.py
View file @
79db7067
from
manager.serverCenter
import
server
from
flask
import
request
from
flask_socketio
import
join_room
,
leave_room
globalStatusSearchUSer
=
[]
andriodStatusSearchUser
=
[]
iosStatusSearchUser
=
[]
def
usbInfoFlush
(
data
):
# print(data)
for
each
in
globalStatusSearchUSer
:
server
.
socketio
.
emit
(
'usbFlush'
,
data
,
to
=
each
)
def
sshInfoFlush
(
data
):
# print(data)
for
each
in
globalStatusSearchUSer
:
server
.
socketio
.
emit
(
'sshFlush'
,
data
,
to
=
each
)
def
adbInfoFlush
(
data
):
for
each
in
andriodStatusSearchUser
:
server
.
socketio
.
emit
(
'adbFlush'
,
data
,
to
=
each
)
def
appiumStatus
(
data
):
# print(data)
for
each
in
globalStatusSearchUSer
:
server
.
socketio
.
emit
(
'appiumstatus'
,
data
,
to
=
each
)
def
appiumLog
(
data
):
for
each
in
globalStatusSearchUSer
:
server
.
socketio
.
emit
(
'appiumlog'
,
data
,
to
=
each
)
def
IosConnectInfo
(
data
):
print
(
data
)
for
each
in
iosStatusSearchUser
:
server
.
socketio
.
emit
(
'iosinfo'
,
data
,
to
=
each
)
onEvent
=
[
[
"主机服务"
,
"列表刷新"
,
usbInfoFlush
],
[
"主机服务"
,
"adb信息"
,
adbInfoFlush
],
[
"主机服务"
,
"隧道状态"
,
sshInfoFlush
],
[
"主机服务"
,
"appium状态"
,
appiumStatus
],
[
"主机服务"
,
"appium日志"
,
appiumLog
],
[
"主机服务"
,
"ios连接信息"
,
IosConnectInfo
],
]
@
server
.
socketio
.
on
(
'join'
)
def
on_join
(
data
):
join_room
(
data
)
...
...
@@ -8,4 +60,86 @@ def on_join(data):
@
server
.
socketio
.
on
(
'leave'
)
def
on_leave
(
data
):
leave_room
(
data
)
@
server
.
socketio
.
on
(
'disconnect'
)
def
disconnect
():
request
.
sid
in
globalStatusSearchUSer
and
globalStatusSearchUSer
.
remove
(
request
.
sid
)
request
.
sid
in
andriodStatusSearchUser
and
andriodStatusSearchUser
.
remove
(
request
.
sid
)
request
.
sid
in
iosStatusSearchUser
and
iosStatusSearchUser
.
remove
(
request
.
sid
)
@
server
.
socketio
.
on
(
'usbInfo'
)
def
usbInfo
():
'''
查看usb状态
'''
globalStatusSearchUSer
.
append
(
request
.
sid
)
@
server
.
socketio
.
on
(
'leaveUsbinfo'
)
def
leaveUsbinfo
():
'''
从查看状态退出
'''
request
.
sid
in
globalStatusSearchUSer
and
globalStatusSearchUSer
.
remove
(
request
.
sid
)
@
server
.
socketio
.
on
(
'leaveAdbinfo'
)
def
leaveAdbinfo
():
'''
退出查看adb信息
'''
request
.
sid
in
andriodStatusSearchUser
and
andriodStatusSearchUser
.
remove
(
request
.
sid
)
@
server
.
socketio
.
on
(
'adbInfo'
)
def
getStatus
():
andriodStatusSearchUser
.
append
(
request
.
sid
)
@
server
.
socketio
.
on
(
'leaveIOSinfo'
)
def
leaveAdbinfo
():
'''
退出查看adb信息
'''
request
.
sid
in
iosStatusSearchUser
and
iosStatusSearchUser
.
remove
(
request
.
sid
)
@
server
.
socketio
.
on
(
'IOSInfo'
)
def
getStatus
():
iosStatusSearchUser
.
append
(
request
.
sid
)
@
server
.
socketio
.
on
(
'connectUsb'
)
def
connectUsb
(
key
):
print
(
key
)
server
.
listener
.
emit
(
"连接usb"
,
key
)
@
server
.
socketio
.
on
(
'killproxy'
)
def
killproxy
():
server
.
listener
.
emit
(
"杀死转发链路"
)
@
server
.
socketio
.
on
(
'restartAppium'
)
def
restartAppium
():
server
.
listener
.
emit
(
"重启appium"
)
@
server
.
socketio
.
on
(
'startAppium'
)
def
restartAppium
():
print
(
"启动appium"
)
server
.
listener
.
emit
(
"启动appium"
)
@
server
.
socketio
.
on
(
'connectIOS'
)
def
connectIos
(
WDAID
):
print
(
WDAID
)
server
.
listener
.
emit
(
"连接ios"
,
WDAID
)
@
server
.
socketio
.
on
(
'disconnectIOS'
)
def
connectIos
(
WDAID
):
server
.
listener
.
emit
(
"断开ios连接"
,
WDAID
)
server
.
listener
.
addevent
(
"连接usb"
,
"触发usbip绑定事件,参数为需要连接的key"
)
server
.
listener
.
addevent
(
"杀死转发链路"
,
"杀死ssh隧道转发"
)
server
.
listener
.
addevent
(
"重启appium"
,
"重启appium服务"
)
server
.
listener
.
addevent
(
"启动appium"
,
"启动appium服务"
)
server
.
listener
.
addevent
(
"连接ios"
,
"连接ios,参数为webdriveragentId"
)
server
.
listener
.
addevent
(
"断开ios连接"
,
"断开所有ios的连接"
)
for
each
in
onEvent
:
server
.
listener
.
on
(
*
each
)
manager/serverCenter.py
View file @
79db7067
...
...
@@ -5,11 +5,15 @@ from flask_socketio import SocketIO
from
datetime
import
timedelta
from
manager.tools
import
get_config
from
jenkins
import
Jenkins
from
lisenterClinet
import
server
as
lisenterServer
config
=
get_config
()
mysqlConf
=
config
[
"mysql"
]
Jenkinsconf
=
config
[
"jenkins"
]
centerPath
=
config
[
'other'
][
'listenCenterPath'
]
print
(
centerPath
)
class
server
():
app
=
Flask
(
__name__
,
template_folder
=
'auto_test/html'
,
static_folder
=
''
)
...
...
@@ -22,6 +26,8 @@ class server():
socketio
=
SocketIO
()
socketio
.
init_app
(
app
,
cors_allowed_origins
=
'*'
)
auto_jenkins
=
Jenkins
(
Jenkinsconf
[
"address"
],
Jenkinsconf
[
"user"
],
Jenkinsconf
[
"password"
])
listener
=
lisenterServer
(
'测试中心'
,
centerPath
)
...
...
test.py
View file @
79db7067
...
...
@@ -20,6 +20,4 @@ def test(path):
s
=
list
(
map
(
lambda
x
:{
'floder'
:
x
[
0
][
0
]
==
'd'
and
True
or
False
,
'size'
:
x
[
4
],
'update'
:
k
(
x
[
5
]
+
'-'
+
x
[
6
]
+
(
':'
in
x
[
7
]
and
' '
+
x
[
7
]
or
'-'
+
x
[
7
])),
'name'
:
x
[
8
]},
b
))
return
s
print
(
test
(
'project-other/source'
))
# timeArray=time.strptime("Jun-17 18:58", "%b-%d %H:%M")
# otherStyleTime = time.strftime("%m-%d %H:%M:%S", timeArray)
# print(otherStyleTime)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment