Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
interface
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
Bozhong钟波
interface
Commits
0197ef9c
Commit
0197ef9c
authored
Sep 14, 2023
by
“xbozhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试1
parent
577b71fa
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
53 additions
and
26 deletions
+53
-26
handle_phone.py
Common/handle_phone.py
+3
-6
handle_requests.py
Common/handle_requests.py
+6
-4
config.ini
Conf/config.ini
+2
-1
test_talented_Person.py
TestCases/test_talented_Person.py
+38
-14
接口业务流.xlsx
TestDatas/接口业务流.xlsx
+0
-0
main.py
main.py
+4
-1
No files found.
Common/handle_phone.py
View file @
0197ef9c
...
...
@@ -6,16 +6,13 @@ import random
from
Common.handle_db
import
HandleDB
db
=
HandleDB
()
# 获取一个没有注册的手机号码
def
get_new_phone
():
def
get_new_phone
(
db
):
# 1、获取手机号码
mobile_phone
=
__generator_phone
()
# 2、对手机号码进行校验
while
True
:
data
=
check_phone_in_db
(
mobile_phone
)
data
=
check_phone_in_db
(
mobile_phone
,
db
)
if
data
==
0
:
return
mobile_phone
else
:
...
...
@@ -35,7 +32,7 @@ def __generator_phone():
# 通过随机生产的号码去数据库进行查询
def
check_phone_in_db
(
mobile_phone
):
def
check_phone_in_db
(
mobile_phone
,
db
):
sql
=
'SELECT * FROM FlowMicros.micros_customer WHERE phone = "{}";'
.
format
(
mobile_phone
)
data
=
db
.
select_count
(
sql
)
return
data
...
...
Common/handle_requests.py
View file @
0197ef9c
...
...
@@ -9,9 +9,9 @@ from Common.my_logger import logger
from
Common.handle_config
import
conf
def
send_request
(
method
,
url
,
data
=
None
,
token
=
None
):
def
send_request
(
method
,
url
,
data
=
None
,
token
=
None
,
Authorization
=
None
):
# 请求头信息
headers
=
__handle_headers
(
token
)
headers
=
__handle_headers
(
token
,
Authorization
)
# url处理,拼接获取完整的url
url
=
__pre_url
(
url
)
# data处理,把字符转化为字典
...
...
@@ -33,10 +33,12 @@ def send_request(method, url, data=None, token=None):
return
resp
def
__handle_headers
(
token
=
None
):
def
__handle_headers
(
token
=
None
,
Authorization
=
None
):
headers
=
{
'App'
:
'galaxy-admin'
,
'Content-Type'
:
'application/json'
}
if
token
:
headers
[
'token'
]
=
'{}'
.
format
(
token
)
headers
[
"token"
]
=
"{}"
.
format
(
token
)
if
Authorization
:
headers
[
"Authorization"
]
=
"{}"
.
format
(
Authorization
)
return
headers
...
...
Conf/config.ini
View file @
0197ef9c
[server]
base_url
=
http://middle-platform.galaxy-immi.com:8183
;base_url = http://middle-platform.galaxy-immi.com:8183
base_url
=
http://test.crm.galaxy-immi.com
[log]
name
=
HXX
...
...
TestCases/test_talented_Person.py
View file @
0197ef9c
import
os.path
import
pytest
import
time
from
Common.handle_excel
import
HandleExcel
from
Common.handle_path
import
datas_dir
...
...
@@ -9,24 +10,27 @@ from Common.handle_data import replace_case_by_regular
from
Common.handle_envdata
import
EnvData
from
Common.handle_requests
import
send_request
from
Common.handle_extract_data_from_response
import
extract_data_from_response
from
Common.handle_db
import
HandleDB
@
pytest
.
fixture
(
scope
=
"class"
)
def
get_newPhone
():
logger
.
info
(
"************ 优才流程 开始执行 ***************"
)
db
=
HandleDB
()
# 获取手机号码
mobile
=
get_new_phone
()
mobile
=
get_new_phone
(
db
)
# 设置手机号码为全局变量
setattr
(
EnvData
,
"mobile"
,
mobile
)
# setattr(EvnData, "username", "赵六
")
setattr
(
EnvData
,
"username"
,
"hxx_alan测试
"
)
# setattr(EvnData, "copywriter_id", 1391)
yield
yield
db
db
.
close
()
logger
.
info
(
"************ 优才流程 执行结束 ***************"
)
@
pytest
.
mark
.
usefixtures
(
"get_newPhone"
)
class
TestTalentedPerson
:
print
(
get_newPhone
)
# 第一步,读取excel中的数据
exc
=
HandleExcel
(
os
.
path
.
join
(
datas_dir
,
"接口业务流.xlsx"
),
"优才"
)
cases
=
exc
.
read_all_datas
()
...
...
@@ -34,12 +38,13 @@ class TestTalentedPerson:
exc
.
close_file
()
print
(
cases
)
# # 如果存在distribution变量,说明该订单被分配了,需要跳过分配客户接口
if
hasattr
(
EnvData
,
"distribution"
):
del
cases
[
12
:
15
]
#
if hasattr(EnvData, "distribution"):
#
del cases[12:15]
@
pytest
.
mark
.
parametrize
(
"case"
,
cases
)
def
test_talented_person
(
self
,
case
):
def
test_talented_person
(
self
,
case
,
get_newPhone
):
logger
.
info
(
"********** 执行用例{}:{} **********"
.
format
(
case
[
"id"
],
case
[
"title"
]))
# 第二步,替换request_data中的未知数
case
=
replace_case_by_regular
(
case
)
...
...
@@ -47,7 +52,18 @@ class TestTalentedPerson:
# 第三步,执行请求
if
hasattr
(
EnvData
,
"token"
):
response
=
send_request
(
case
[
"method"
],
case
[
"url"
],
case
[
"request_data"
],
token
=
getattr
(
EnvData
,
"token"
))
if
case
[
"title"
]
==
"提交修改后的文档"
or
case
[
"title"
]
==
"提交"
:
time
.
sleep
(
90
)
id_list
=
getattr
(
EnvData
,
"id_list"
)
dic
=
{}
for
i
in
range
(
len
(
id_list
)):
dic
[
"id"
]
=
id_list
[
i
]
response
=
send_request
(
case
[
"method"
],
case
[
"url"
],
dic
,
token
=
getattr
(
EnvData
,
"token"
),
Authorization
=
getattr
(
EnvData
,
"client_token"
))
time
.
sleep
(
90
)
else
:
response
=
send_request
(
case
[
"method"
],
case
[
"url"
],
case
[
"request_data"
],
token
=
getattr
(
EnvData
,
"token"
))
else
:
response
=
send_request
(
case
[
"method"
],
case
[
"url"
],
case
[
"request_data"
])
...
...
@@ -55,9 +71,17 @@ class TestTalentedPerson:
if
case
[
"extract_data"
]:
extract_data_from_response
(
case
[
"extract_data"
],
response
.
json
())
# 断言
# 第五步,执行sql
# 任务流转接口
if
case
[
"check_sql"
]
and
case
[
"check_keyword"
]
==
"order_task_id"
:
order_task_id
=
get_newPhone
.
select_one_data
(
case
[
"check_sql"
])[
"id"
]
setattr
(
EnvData
,
"order_task_id"
,
order_task_id
)
elif
case
[
"check_sql"
]
and
case
[
"check_keyword"
]
==
"id_list"
:
ids
=
get_newPhone
.
select_all_data
(
case
[
"check_sql"
])
id_list
=
[]
for
i
in
ids
:
id_list
.
append
(
i
[
"id"
])
setattr
(
EnvData
,
"id_list"
,
id_list
)
# 第五步,断言
assert
response
.
json
()[
"code"
]
==
200
TestDatas/接口业务流.xlsx
View file @
0197ef9c
No preview for this file type
main.py
View file @
0197ef9c
import
pytest
if
__name__
==
'__main__'
:
pytest
.
main
([
"-s"
,
"-v"
,
"--alluredir=Outputs/reports"
,
"--clean-alluredir"
])
\ No newline at end of file
pytest
.
main
([
"-s"
,
"-v"
,
"--reruns"
,
"2"
,
"--reruns-delay"
,
"5"
,
"--alluredir=Outputs/reports"
,
"--clean-alluredir"
])
\ No newline at end of file
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