Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-airtest-web-spd
Commits
39837e3e
Commit
39837e3e
authored
Aug 05, 2023
by
xiao-hesheng
Browse files
添加ui自动化demo,还未运行
parent
5016df98
Changes
4
Hide whitespace changes
Inline
Side-by-side
air_case/demo-ui/demo-spd3-login.air/demo-spd3-login.py
0 → 100644
View file @
39837e3e
# -*- encoding=utf8 -*-
__author__
=
"xiaohesheng"
"""
case_tag:spd3-web,10087
spd登录的ui自动化例子
"""
from
common.common_func
import
commonFuc
from
selenium
import
webdriver
module
=
"demo-ui"
url
=
commonFuc
().
get_api_url
()
+
commonFuc
().
get_business_data
(
module
,
"spd3_login_url"
)
print
(
url
)
testCase
=
"结算-拆包出结算正向和反向业务"
import
time
#导入time.py文件,下面用于强制等待
#打开前台系统
import
time
# url="http://spddev.cmic.com.cn/hospitaltest2/spd/\#/login?redirect=/paltform/info0/paltform/product/calatog/paltform/product/calatog"
chrome
=
webdriver
.
Chrome
()
chrome
=
commonFuc
().
openBrowser
(
url
,
chrome
)
chrome
.
maximize_window
()
chrome
.
implicitly_wait
(
20
)
username
=
commonFuc
().
get_business_data
(
module
,
"username"
)
password
=
commonFuc
().
get_business_data
(
module
,
"password"
)
login_button
=
commonFuc
().
get_business_data
(
module
,
"login_button"
)
print
(
username
,
password
)
commonFuc
().
logIn
(
username
,
password
,
login_button
,
chrome
)
name1
=
commonFuc
().
get_business_data
(
module
,
"name1"
)
result
=
commonFuc
().
check_login_result
(
name1
,
chrome
)
#断言实际结果中是否包含预期的文本
commonFuc
().
check_text_exist
(
name1
,
result
)
\ No newline at end of file
common/common_func.py
View file @
39837e3e
...
...
@@ -61,15 +61,15 @@ class commonFuc(object):
url
=
'http://pre-m.meitun.com'
elif
env
==
'sita'
:
url
=
'http://sita-m.meitun.com'
elif
env
==
"spd3"
:
#spd3.0
elif
env
==
"spd3"
:
#
spd3.0
# url = 'http://sit-m.meitun.com'
url
=
'http://spddev.cmic.com.cn'
elif
env
==
"spd2"
:
#spd2.0
url
=
""
elif
env
==
"od"
:
#骨科
elif
env
==
"spd2"
:
# spd2.0
url
=
""
elif
env
==
"od"
:
# 骨科
url
=
""
elif
env
==
"bs"
:
# 电商
url
=
""
elif
env
==
"bs"
:
#电商
url
=
""
else
:
url
=
'http://spddev.cmic.com.cn'
...
...
@@ -97,7 +97,7 @@ class commonFuc(object):
"""
一个get请求,返回json
"""
result
=
requests
.
request
(
"GET"
,
url
,
headers
=
headers
,
params
=
params
)
result
=
requests
.
request
(
"GET"
,
url
,
headers
=
headers
,
params
=
params
)
result
=
json
.
loads
(
result
.
text
)
return
result
...
...
@@ -250,36 +250,36 @@ class commonFuc(object):
"""
env
=
os
.
environ
[
'ENV'
]
print
(
env
)
if
pool
==
"bid"
:
if
pool
==
"bid"
:
if
env
==
'on'
:
url
=
'http://bid.babytree.com'
else
:
url
=
'https://bid.babytree-test.com'
elif
pool
==
"advertise-go-web"
:
elif
pool
==
"advertise-go-web"
:
url
=
'http://g.kexin001.com'
elif
pool
==
"ad_Delivery"
:
elif
pool
==
"ad_Delivery"
:
url
=
'http://go.kexin001.com'
elif
pool
==
"search-platform-index"
:
elif
pool
==
"search-platform-index"
:
if
env
==
'on'
:
url
=
'http://search-index.babytree.com/index/build'
else
:
url
=
'http://search-index.babytree-test.com/index/build'
elif
pool
==
"search-platform-web"
:
elif
pool
==
"search-platform-web"
:
if
env
==
'on'
:
url
=
'http://search-query.babytree.com/search/query'
else
:
url
=
'http://search-query.babytree-test.com/search/query'
elif
pool
==
"search-merger"
:
elif
pool
==
"search-merger"
:
if
env
==
'on'
:
url
=
'http://merger.babytree.com/search'
else
:
url
=
'http://merger.babytree-test.com/search'
elif
pool
==
"search-suggest"
:
url
=
'http://merger.babytree-test.com/search'
elif
pool
==
"search-suggest"
:
if
env
==
'on'
:
url
=
'http://suggest.babytree.com'
else
:
url
=
'http://suggest.babytree-test.com'
else
:
url
=
'http://suggest.babytree-test.com'
else
:
if
env
==
'on'
:
url
=
'https://backend.meitunmama.com/'
elif
env
==
'pre'
:
...
...
@@ -288,14 +288,14 @@ class commonFuc(object):
url
=
'http://sita-backend.meitunmama.com'
else
:
url
=
'http://sit-backend.meitunmama.com'
return
url
def
login_backend
(
self
,
driver
):
driver
.
get
(
self
.
get_url
())
sleep
(
3
)
#driver.assert_template(Template(r"tpl1580989830894.png", record_pos=(3.27, 2.99), resolution=(100, 100)),
#"请填写测试点")
#
driver.assert_template(Template(r"tpl1580989830894.png", record_pos=(3.27, 2.99), resolution=(100, 100)),
#
"请填写测试点")
driver
.
set_window_size
(
1366
,
868
)
if
os
.
environ
[
'ENV'
]
==
'on'
or
os
.
environ
[
'ENV'
]
==
'pre'
:
es
=
'aG9uZ2xp'
...
...
@@ -313,8 +313,8 @@ class commonFuc(object):
driver
.
find_element_by_id
(
"smsCode"
).
send_keys
(
"111111"
)
driver
.
find_element_by_id
(
"sub_btn"
).
click
()
sleep
(
2
)
#driver.assert_template(Template(r"tpl1579258499558.png", record_pos=(0.47, 0.975), resolution=(100, 100)),
#"验证登录成功了")
#
driver.assert_template(Template(r"tpl1579258499558.png", record_pos=(0.47, 0.975), resolution=(100, 100)),
#
"验证登录成功了")
# 选择打开页面的路径,如: 大健康-课程包-课程包管理
def
enter_channel_manage
(
self
,
driver
,
title
,
classfy
,
content
):
...
...
@@ -448,7 +448,6 @@ class commonFuc(object):
url
=
'http://apilocal.babytree-test.com'
return
url
def
get_localfront_babytree_url
(
self
):
"""
接口mapi_babytree类型的请求
...
...
@@ -475,9 +474,31 @@ class commonFuc(object):
else
:
url
=
'http://sit-search-index.babytree.com'
return
url
#随机n位字符串,返回n位字符串
def
randomString
(
self
,
n
):
# 随机n位字符串,返回n位字符串
def
randomString
(
self
,
n
):
import
string
import
random
s
=
""
.
join
(
random
.
sample
(
string
.
ascii_letters
+
string
.
digits
+
"!@#$%^&*()"
,
n
))
return
s
\ No newline at end of file
s
=
""
.
join
(
random
.
sample
(
string
.
ascii_letters
+
string
.
digits
+
"!@#$%^&*()"
,
n
))
return
s
# 打开网页
def
openBrowser
(
self
,
url
,
chrome
):
chrome
.
implicitly_wait
(
10
)
# 隐式等待 10秒
chrome
.
get
(
url
)
return
chrome
# 所以函数必须返回firefox,后面的脚本才能使用
def
logIn
(
self
,
username
,
password
,
login_button
,
chrome
):
chrome
.
find_element_by_xpath
(
username
).
clear
()
chrome
.
find_element_by_xpath
(
username
).
send_keys
(
'xhs'
)
chrome
.
find_element_by_xpath
(
username
).
send_keys
(
password
)
chrome
.
find_element_by_xpath
(
login_button
).
click
()
def
check_login_result
(
self
,
username
,
chrome
):
for
i
in
range
(
10000
):
wait
()
try
:
if
(
chrome
.
find_element_by_xpath
(
'//div[text()=" %s "]'
%
username
)).
is_displayed
():
break
except
:
continue
data/demo-ui/data
0 → 100644
View file @
39837e3e
# 登录内网测试环境地址
"spd3_login_url": "/hospitaltest2/spd/#/login?redirect=/paltform/info0/paltform/product/calatog/paltform/product/calatog"
"username": "//input[@placeholder='请输入用户名']"
"password": "//input[@placeholder='请输入用户名']"
"login_button":"//span[text()='登 录']"
"name1":"xhs"
\ No newline at end of file
report/summary.html
View file @
39837e3e
...
...
@@ -55,9 +55,9 @@
<tr
width=
"600"
>
<td
class=
'details-col-elapsed'
>
1
</td>
<td
class=
'details-col-elapsed'
>
1
</td>
<td
class=
'details-col-elapsed'
>
0
</td>
<td
class=
'details-col-elapsed'
>
0分0秒
</td>
<td
class=
"details-col-elapsed"
>
10
0.0%
</td>
<td
class=
"details-col-elapsed"
>
0.0%
</td>
</tr>
</table>
...
...
@@ -72,9 +72,9 @@
</tr>
<tr
width=
"600"
>
<td
class=
"details-col-elapsed"
><a
href=
'../log/
外网企业注册-器械注册人-所有输入项填写
/log.html'
target=
'_blank'
>
外网企业注册-器械注册人-所有输入项填写
</a></td>
<td
class=
"
success"
>
成功
</td>
<td
class=
"details-col-elapsed"
>
0.
635
</td>
<td
class=
"details-col-elapsed"
><a
href=
'../log/
demo-spd3-login
/log.html'
target=
'_blank'
>
demo-spd3-login
</a></td>
<td
class=
"
fail"
>
失败
</td>
<td
class=
"details-col-elapsed"
>
0.
131
</td>
<td
class=
"details-col-elapsed"
>
xiaohesheng
</td>
</tr>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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