Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zmops-test
Project
Overview
Details
Activity
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
sanshi
zmops-test
Commits
127e06e5
Commit
127e06e5
authored
Dec 02, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
业务树
parent
3d16d8f3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
266 additions
and
0 deletions
+266
-0
businesses_tree.py
WorkApi/APP/Businesses/businesses_tree.py
+38
-0
test_businesses_tree.py
WorkCase/APP/Businesses/test_businesses_tree.py
+228
-0
No files found.
WorkApi/APP/Businesses/businesses_tree.py
0 → 100644
View file @
127e06e5
# -*- coding: utf-8 -*-
# 获取业务树下拉框
# 作者: 陈磊
# 时间: 2019-12-02
from
WorkUtils.UtilsRequest
import
UtilsRequest
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkApi.ApiBase
import
ApiBase
,
GetBase
class
BusinessesTree
(
object
):
def
__init__
(
self
,
_host
):
"""
:param _host: 域名
:return:
"""
self
.
log
=
UtilsLog
()
self
.
log
.
info
(
"调用获取业务树下拉框"
)
self
.
log
.
info
(
self
.
__class__
)
self
.
_host
=
_host
self
.
_headers
=
{}
self
.
_path
=
"/businesses/tree"
self
.
_url
=
self
.
_host
+
self
.
_path
self
.
_params
=
{}
self
.
_json
=
{}
self
.
_data
=
{}
self
.
response
=
""
self
.
token
=
None
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"token"
,
value
=
self
.
token
)
self
.
_headers
=
base
.
_json
self
.
response
=
self
.
api
.
get
(
url
=
self
.
_url
,
headers
=
self
.
_headers
,
params
=
self
.
_params
)
WorkCase/APP/Businesses/test_businesses_tree.py
0 → 100644
View file @
127e06e5
# -*- coding: utf-8 -*-
# 测试用例
# 作者: 陈磊
# 时间: 2019-12-02
from
__future__
import
division
import
pytest
from
WorkCase
import
CaseBase
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
from
WorkUtils.UtilsResponse
import
UtilsResponse
from
WorkApi.APP.Api.api_login
import
ApiLogin
from
WorkApi.APP.Businesses.Type.businesses_type_create
import
BusinessesTypeCreate
from
WorkApi.APP.Businesses.businesses_create
import
BusinessesCreate
from
WorkApi.APP.Businesses.businesses_tree
import
BusinessesTree
from
WorkData.Argus.members
import
DataMembers
from
WorkData.Argus.businesses_type
import
DataBusinessesType
from
WorkData.Argus.businesses
import
DataBusinesses
import
allure
@allure.feature
(
"测试模块:businesses.tree"
)
class
TestBusinessesTree
(
object
):
log
=
UtilsLog
()
env
=
CaseBase
()
.
app_environment
host
=
env
[
"host"
]
db_url
=
env
[
"db_url"
]
db_port
=
env
[
"db_port"
]
db_user
=
env
[
"db_user"
]
db_pw
=
env
[
"db_pw"
]
db_base
=
env
[
"db_base"
]
login_name
=
"SS测试用户名"
base_id
=
10
base_password
=
"123456"
base_type_name
=
"SS测试业务-业务树"
base_name
=
"SS自动化测试业务名称"
@classmethod
def
setup_class
(
cls
):
cls
.
log
.
debug
(
"开始执行测试套件......."
)
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
cls
.
db_url
,
db_port
=
cls
.
db_port
,
db_base
=
cls
.
db_base
,
db_user
=
cls
.
db_user
,
db_pw
=
cls
.
db_pw
)
DataBusinessesType
()
.
delete_like_name
(
session
=
session
,
name
=
cls
.
base_type_name
)
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
cls
.
db_url
,
db_port
=
cls
.
db_port
,
db_base
=
cls
.
db_base
,
db_user
=
cls
.
db_user
,
db_pw
=
cls
.
db_pw
)
DataBusinesses
()
.
delete_like_name
(
session
=
session
,
name
=
cls
.
base_name
)
@classmethod
def
teardown_class
(
cls
):
cls
.
log
.
debug
(
"结束执行测试套件......."
)
def
setup_method
(
self
):
self
.
log
.
debug
(
"测试用例执行开始..."
)
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
0
)
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
0
)
def
teardown_method
(
self
):
self
.
log
.
debug
(
"测试用例执行结束..."
)
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
0
)
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
0
)
@allure.step
(
"调用接口:api.login"
)
def
api_login
(
self
,
name
=
None
,
password
=
None
):
api
=
ApiLogin
(
_host
=
self
.
host
)
api
.
name
=
name
api
.
password
=
password
api
.
get_response
()
return
api
.
response
@allure.step
(
"更新表数据:members -- del_flag"
)
def
update_members_del_flag
(
self
,
members_id
=
None
,
value
=
None
):
session
=
self
.
db_session
()
sql
=
DataMembers
()
.
update_del_flag
(
session
=
session
,
_id
=
members_id
,
value
=
value
)
return
sql
@allure.step
(
"更新表数据:members -- status"
)
def
update_members_status
(
self
,
members_id
=
None
,
value
=
None
):
session
=
self
.
db_session
()
sql
=
DataMembers
()
.
update_status
(
session
=
session
,
_id
=
members_id
,
value
=
value
)
return
sql
@allure.step
(
"调用接口:businesses.type.create"
)
def
businesses_type_create
(
self
,
token
=
None
,
typeName
=
None
):
api
=
BusinessesTypeCreate
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
typeName
=
typeName
api
.
get_response
()
return
api
.
response
@allure.step
(
"调用接口:businesses.create"
)
def
businesses_create
(
self
,
token
=
None
,
name
=
None
,
description
=
None
,
_type
=
None
,
principalName
=
None
,
principalPhone
=
None
,
memberid
=
None
):
api
=
BusinessesCreate
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
name
=
name
api
.
description
=
description
api
.
type
=
_type
api
.
principalName
=
principalName
api
.
principalPhone
=
principalPhone
api
.
memberid
=
memberid
api
.
get_response
()
return
api
.
response
@allure.step
(
"调用接口:businesses.tree"
)
def
businesses_tree
(
self
,
token
=
None
):
api
=
BusinessesTree
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
get_response
()
return
api
.
response
@allure.step
(
"获取token"
)
def
get_base_token
(
self
):
response
=
self
.
api_login
(
name
=
self
.
login_name
,
password
=
self
.
base_password
)
self
.
token
=
UtilsResponse
()
.
get_data
(
response
=
response
)
@allure.step
(
"连接数据库:Argus"
)
def
db_session
(
self
):
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
self
.
db_url
,
db_port
=
self
.
db_port
,
db_base
=
self
.
db_base
,
db_user
=
self
.
db_user
,
db_pw
=
self
.
db_pw
)
return
session
@allure.step
(
"查询表:businesses"
)
def
select_businesses
(
self
,
businessid
=
None
,
name
=
None
):
session
=
self
.
db_session
()
sql
=
DataBusinesses
()
.
select_all_from_allKeys
(
session
=
session
,
businessid
=
businessid
,
name
=
name
)
return
sql
@allure.step
(
"创建测试数据"
)
def
case_create
(
self
,
name
,
principalPhone
=
None
,
principalName
=
None
):
response
=
self
.
businesses_type_create
(
token
=
self
.
token
,
typeName
=
self
.
base_type_name
)
self
.
type_id
=
UtilsResponse
()
.
get_data
(
response
=
response
)
response
=
self
.
businesses_create
(
token
=
self
.
token
,
name
=
name
+
"041"
,
_type
=
self
.
type_id
,
principalPhone
=
principalPhone
,
principalName
=
principalName
)
self
.
businessid_1
=
UtilsResponse
()
.
get_data
(
response
=
response
)
response
=
self
.
businesses_create
(
token
=
self
.
token
,
name
=
name
+
"042"
,
_type
=
self
.
type_id
,
principalPhone
=
principalPhone
,
principalName
=
principalName
)
self
.
businessid_2
=
UtilsResponse
()
.
get_data
(
response
=
response
)
@allure.step
(
"校验查询结果"
)
def
check_data
(
self
,
response
):
data
=
UtilsResponse
()
.
get_data
(
response
=
response
)
for
q
,
w
in
enumerate
(
data
):
if
w
[
"bid"
]
==
self
.
type_id
:
assert
w
[
"name"
]
==
self
.
base_type_name
bids
=
[]
# 校验2个集合
for
x
,
y
in
enumerate
(
w
[
"children"
]):
assert
y
[
"bid"
]
in
[
self
.
businessid_1
,
self
.
businessid_2
]
bids
.
append
(
y
[
"bid"
])
assert
len
(
bids
)
==
2
for
x
,
y
in
enumerate
([
self
.
businessid_1
,
self
.
businessid_2
]):
assert
y
in
bids
@allure.step
(
"断言返回结果"
)
def
check_code
(
self
,
response
,
code
):
_code
=
UtilsResponse
()
.
get_code
(
response
=
response
)
assert
_code
==
code
@allure.step
(
"断言返回结果数据"
)
def
check_msg
(
self
,
response
,
msg
):
_msg
=
UtilsResponse
()
.
get_msg
(
response
=
response
)
assert
_msg
==
msg
@allure.title
(
"businesses.tree:token未传"
)
@allure.story
(
"查询业务:token未传"
)
@allure.severity
(
"blocker"
)
@pytest.mark.skip
(
reason
=
"此接口未加入token验证"
)
def
test_case_01
(
self
):
self
.
get_base_token
()
response
=
self
.
businesses_tree
()
self
.
check_code
(
response
=
response
,
code
=
2001
)
self
.
check_msg
(
response
=
response
,
msg
=
"无token,请重新登录"
)
@allure.title
(
"businesses.tree:token的用户已删除"
)
@allure.story
(
"查询业务:token的用户已删除"
)
@allure.severity
(
"blocker"
)
@pytest.mark.skip
(
reason
=
"此接口未加入token验证"
)
def
test_case_02
(
self
):
self
.
get_base_token
()
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
1
)
response
=
self
.
businesses_tree
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2004
)
self
.
check_msg
(
response
=
response
,
msg
=
"用户不存在"
)
@allure.title
(
"businesses.tree:token的用户已禁用"
)
@allure.story
(
"查询业务:token的用户已禁用"
)
@allure.severity
(
"blocker"
)
@pytest.mark.skip
(
reason
=
"此接口未加入token验证"
)
def
test_case_03
(
self
):
self
.
get_base_token
()
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
1
)
response
=
self
.
businesses_tree
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2003
)
self
.
check_msg
(
response
=
response
,
msg
=
"账户已被禁用"
)
@allure.title
(
"businesses.tree:无参数调用"
)
@allure.story
(
"查询业务:无参数调用"
)
@allure.severity
(
"blocker"
)
def
test_case_04
(
self
):
self
.
get_base_token
()
name
=
self
.
base_name
+
"04"
self
.
case_create
(
name
=
name
)
response
=
self
.
businesses_tree
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_data
(
response
=
response
)
if
__name__
==
"__main__"
:
from
WorkUtils.UtilsPyTest
import
UtilsPyTest
from
WorkUtils.UtilsCmd
import
UtilsCmd
import
os
# 执行自动化测试用例
case_info
=
os
.
path
.
split
(
__file__
)
case
=
UtilsCmd
()
.
pytest_cmd
()
r
=
UtilsPyTest
(
case
=
case
,
case_info
=
case_info
)
r
.
run_main
()
# a = TestBusinessesTree()
# a.setup_class()
# a.test_case_04()
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