Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-uitest-sow
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-uitest-sow
Commits
3eeea1c8
Commit
3eeea1c8
authored
Jun 21, 2021
by
linguangwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改为pytest框架
parent
ddf2e2f9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
92 additions
and
81 deletions
+92
-81
.idea/inspectionProfiles/Project_Default.xml
+1
-0
.idea/vcs.xml
+0
-2
.idea/workspace.xml
+45
-25
main.py
+2
-18
src/pageobject/mainpage.py
+1
-1
src/testcase/test_LivePage.py
+14
-11
src/testcase/test_LoginPage.py
+7
-8
src/testcase/test_MainPage.py
+11
-8
src/testcase/test_WhiteBoardPage.py
+11
-8
No files found.
.idea/inspectionProfiles/Project_Default.xml
View file @
3eeea1c8
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<option
name=
"ignoredErrors"
>
<option
name=
"ignoredErrors"
>
<list>
<list>
<option
value=
"N806"
/>
<option
value=
"N806"
/>
<option
value=
"N802"
/>
</list>
</list>
</option>
</option>
</inspection_tool>
</inspection_tool>
...
...
.idea/vcs.xml
View file @
3eeea1c8
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
"$PROJECT_DIR$/.."
vcs=
"Git"
/>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
</component>
</component>
</project>
</project>
\ No newline at end of file
.idea/workspace.xml
View file @
3eeea1c8
This diff is collapsed.
Click to expand it.
main.py
View file @
3eeea1c8
import
unit
test
import
py
test
from
src.framework.HTMLTestRunner
import
HTMLTestRunner
from
src.framework
import
common
from
src.framework
import
common
from
src.testcase.testLoginPage
import
TestLoginPage
as
TLP
# from src.testcase.testMainPage import TestMainPage as TMP
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
testunit
=
unittest
.
TestSuite
()
testunit
.
addTest
(
TLP
(
'testLogin'
))
# testunit.addTests([TMP('test_1_UnStartLive'), TMP('test_2_StartLive'), TMP('test_3_ReviewLive')])
# testunit.addTests([TMP('test_1_UnStartLive')])
# 定义报告输出路径
htmlPath
=
"./report/AI-XM_Report{}.html"
.
format
(
common
.
year_to_minute
())
htmlPath
=
"./report/AI-XM_Report{}.html"
.
format
(
common
.
year_to_minute
())
with
(
open
(
htmlPath
,
'wb'
))
as
fp
:
pytest
.
main
([
"-v"
,
'--html={}'
.
format
(
htmlPath
),
'./src/testcase/test_MainPage.py'
])
runner
=
HTMLTestRunner
(
stream
=
fp
,
title
=
'企培客户端UI自动化测试报告'
,
description
=
'描述'
)
runner
.
run
(
testunit
)
src/pageobject/mainpage.py
View file @
3eeea1c8
...
@@ -80,6 +80,6 @@ class MainPage(LoginPage):
...
@@ -80,6 +80,6 @@ class MainPage(LoginPage):
def
page_down
(
self
,
coursename
):
def
page_down
(
self
,
coursename
):
while
True
:
while
True
:
self
.
keys_down
()
self
.
keys_down
()
ele
=
EC
.
presence_of_element_located
((
By
.
XPATH
,
"""//div[text()={}]/..//button[@class="ant-btn
ant-btn-primary
"]"""
.
format
(
coursename
)))
ele
=
EC
.
presence_of_element_located
((
By
.
XPATH
,
"""//div[text()={}]/..//button[@class="ant-btn"]"""
.
format
(
coursename
)))
if
ele
:
if
ele
:
break
break
src/testcase/testLivePage.py
→
src/testcase/test
_
LivePage.py
View file @
3eeea1c8
import
time
import
pytest
from
src.framework.logger
import
Logger
from
src.framework.logger
import
Logger
from
src.pageobject.livepage
import
LivePage
from
src.pageobject.livepage
import
LivePage
from
src.framework.common
import
create_a_live
from
src.framework.common
import
create_a_live
...
@@ -6,14 +10,15 @@ from src.framework.common import screenshot_path, compare_pictures, year_to_minu
...
@@ -6,14 +10,15 @@ from src.framework.common import screenshot_path, compare_pictures, year_to_minu
from
config
import
readConfig
from
config
import
readConfig
import
unittest
import
sys
import
sys
class
TestLivePage
(
unittest
.
TestCase
):
class
TestLivePage
(
object
):
logger
=
Logger
(
'live page'
)
.
getlog
()
logger
=
Logger
(
'live page'
)
.
getlog
()
cloud_class_location
=
readConfig
.
test_location
()
cloud_class_location
=
readConfig
.
test_location
()
time
.
sleep
(
15
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
# 指定客户端的本地路径,在/config/config.ini配置
driver
=
get_app_driver
(
cloud_class_location
)
driver
=
get_app_driver
(
cloud_class_location
)
live_page
=
LivePage
(
driver
=
driver
)
live_page
=
LivePage
(
driver
=
driver
)
# 这里停15s是因为setUP里创建直播间获取token登录了一次,限制两次登录需间隔15s
# 这里停15s是因为setUP里创建直播间获取token登录了一次,限制两次登录需间隔15s
...
@@ -25,15 +30,13 @@ class TestLivePage(unittest.TestCase):
...
@@ -25,15 +30,13 @@ class TestLivePage(unittest.TestCase):
live_page
.
change_window
(
live_page
.
camera_btn
)
live_page
.
change_window
(
live_page
.
camera_btn
)
live_page
.
sleep
(
5
)
live_page
.
sleep
(
5
)
def
setUp
(
self
)
->
None
:
def
setup_class
(
self
):
# 指定客户端的本地路径,在/config/config.ini配置
pass
pass
@classmethod
def
teardown_class
(
self
):
def
tearDownClass
(
cls
)
->
None
:
self
.
driver
.
quit
()
cls
.
driver
.
quit
()
# 测试直播间摄像头 测试的时候
有个问题,
如果摄像头黑屏,检查一下是否开了两个客户端,造成了摄像头抢占
# 测试直播间摄像头 测试的时候如果摄像头黑屏,检查一下是否开了两个客户端,造成了摄像头抢占
def
testLiveCamera
(
self
):
def
testLiveCamera
(
self
):
before_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
before_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
self
.
live_page
.
save_screenshot
(
before_savescreen
)
self
.
live_page
.
save_screenshot
(
before_savescreen
)
...
@@ -42,7 +45,7 @@ class TestLivePage(unittest.TestCase):
...
@@ -42,7 +45,7 @@ class TestLivePage(unittest.TestCase):
after_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
after_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
self
.
live_page
.
save_screenshot
(
after_savescreen
)
self
.
live_page
.
save_screenshot
(
after_savescreen
)
result
=
compare_pictures
(
before_savescreen
,
after_savescreen
)
result
=
compare_pictures
(
before_savescreen
,
after_savescreen
)
self
.
assertLessEqual
(
10
,
result
)
assert
10
<
result
self
.
live_page
.
sleep
(
3
)
self
.
live_page
.
sleep
(
3
)
# 测试添加白板并打开
# 测试添加白板并打开
...
@@ -59,8 +62,8 @@ class TestLivePage(unittest.TestCase):
...
@@ -59,8 +62,8 @@ class TestLivePage(unittest.TestCase):
after_whiteboard_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
after_whiteboard_savescreen
=
screenshot_path
(
sys
.
_getframe
()
.
f_code
.
co_name
)
+
"/"
+
year_to_minute
()
+
'.png'
self
.
live_page
.
save_screenshot
(
after_whiteboard_savescreen
)
self
.
live_page
.
save_screenshot
(
after_whiteboard_savescreen
)
whiteboard_result
=
compare_pictures
(
before_whiteboard_savescreen
,
after_whiteboard_savescreen
)
whiteboard_result
=
compare_pictures
(
before_whiteboard_savescreen
,
after_whiteboard_savescreen
)
self
.
assertLessEqual
(
10
,
whiteboard_result
)
assert
10
<
whiteboard_result
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
(
verbosity
=
1
)
pytest
.
main
([
"-v"
]
)
src/testcase/testLoginPage.py
→
src/testcase/test
_
LoginPage.py
View file @
3eeea1c8
import
pytest
from
src.pageobject.loginpage
import
LoginPage
from
src.pageobject.loginpage
import
LoginPage
from
src.framework.logger
import
Logger
from
src.framework.logger
import
Logger
from
src.framework.appDriver
import
get_app_driver
from
src.framework.appDriver
import
get_app_driver
from
config
import
readConfig
from
config
import
readConfig
import
unittest
class
TestLoginPage
(
unittest
.
TestCase
):
class
TestLoginPage
(
object
):
logger
=
Logger
(
'login page'
)
.
getlog
()
logger
=
Logger
(
'login page'
)
.
getlog
()
account
=
readConfig
.
test_account
()
account
=
readConfig
.
test_account
()
password
=
readConfig
.
test_password
()
password
=
readConfig
.
test_password
()
cloud_class_location
=
readConfig
.
test_location
()
cloud_class_location
=
readConfig
.
test_location
()
def
setUp
(
self
)
->
None
:
def
setup_class
(
self
):
print
(
11111
)
# 指定客户端的本地路径,在/config/config.ini配置
# 指定客户端的本地路径,在/config/config.ini配置
self
.
driver
=
get_app_driver
(
self
.
cloud_class_location
)
self
.
driver
=
get_app_driver
(
self
.
cloud_class_location
)
def
tear
Down
(
self
)
->
None
:
def
tear
down_class
(
self
)
:
self
.
driver
.
quit
()
self
.
driver
.
quit
()
# 测试登录
# 测试登录
...
@@ -31,8 +30,8 @@ class TestLoginPage(unittest.TestCase):
...
@@ -31,8 +30,8 @@ class TestLoginPage(unittest.TestCase):
login_page
.
click_login
()
login_page
.
click_login
()
login_page
.
sleep
(
1
)
login_page
.
sleep
(
1
)
# 校验是否存在店铺名称的元素
# 校验是否存在店铺名称的元素
self
.
assertTrue
(
login_page
.
ifElementExist
(
login_page
.
store_name
)
)
assert
login_page
.
ifElementExist
(
login_page
.
store_name
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
(
verbosity
=
1
)
pytest
.
main
([
"-v"
]
)
src/testcase/testMainPage.py
→
src/testcase/test
_
MainPage.py
View file @
3eeea1c8
import
time
import
pytest
from
src.framework.logger
import
Logger
from
src.framework.logger
import
Logger
from
src.pageobject.mainpage
import
MainPage
from
src.pageobject.mainpage
import
MainPage
from
src.framework.common
import
create_a_live
from
src.framework.common
import
create_a_live
...
@@ -5,19 +9,18 @@ from src.framework.appDriver import get_app_driver
...
@@ -5,19 +9,18 @@ from src.framework.appDriver import get_app_driver
from
config
import
readConfig
from
config
import
readConfig
import
unittest
class
TestMainPage
(
unittest
.
TestCase
):
class
TestMainPage
(
object
):
logger
=
Logger
(
'main page'
)
.
getlog
()
logger
=
Logger
(
'main page'
)
.
getlog
()
cloud_class_location
=
readConfig
.
test_location
()
cloud_class_location
=
readConfig
.
test_location
()
time
.
sleep
(
15
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
def
set
Up
(
self
)
->
None
:
def
set
up_method
(
self
)
:
# 指定客户端的本地路径,在/config/config.ini配置
# 指定客户端的本地路径,在/config/config.ini配置
self
.
driver
=
get_app_driver
(
self
.
cloud_class_location
)
self
.
driver
=
get_app_driver
(
self
.
cloud_class_location
)
def
tear
Down
(
self
)
->
None
:
def
tear
down_method
(
self
)
:
self
.
driver
.
quit
()
self
.
driver
.
quit
()
# 测试主页-进入未开启直播
# 测试主页-进入未开启直播
...
@@ -34,7 +37,7 @@ class TestMainPage(unittest.TestCase):
...
@@ -34,7 +37,7 @@ class TestMainPage(unittest.TestCase):
main_page
.
sleep
(
5
)
main_page
.
sleep
(
5
)
main_page
.
change_window
(
main_page
.
camera_btn
)
main_page
.
change_window
(
main_page
.
camera_btn
)
main_page
.
sleep
(
2
)
main_page
.
sleep
(
2
)
self
.
assertTrue
(
main_page
.
ifElementExist
(
main_page
.
camera_btn
)
)
assert
main_page
.
ifElementExist
(
main_page
.
camera_btn
)
main_page
.
sleep
(
3
)
main_page
.
sleep
(
3
)
# 测试主页-进入已开启直播
# 测试主页-进入已开启直播
...
@@ -63,7 +66,7 @@ class TestMainPage(unittest.TestCase):
...
@@ -63,7 +66,7 @@ class TestMainPage(unittest.TestCase):
main_page
.
stop_live
()
main_page
.
stop_live
()
main_page
.
sleep
(
3
)
main_page
.
sleep
(
3
)
main_page
.
change_window
(
main_page
.
live_list
)
main_page
.
change_window
(
main_page
.
live_list
)
self
.
assertEqual
(
"查看回放"
,
main_page
.
get_btn_text
(
self
.
live_course_name
[
1
])
)
assert
"查看回放"
==
main_page
.
get_btn_text
(
self
.
live_course_name
[
1
]
)
main_page
.
sleep
(
3
)
main_page
.
sleep
(
3
)
# 测试回放
# 测试回放
...
@@ -82,4 +85,4 @@ class TestMainPage(unittest.TestCase):
...
@@ -82,4 +85,4 @@ class TestMainPage(unittest.TestCase):
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
(
verbosity
=
1
)
pytest
.
main
([
"-v"
]
)
src/testcase/testWhiteBoardPage.py
→
src/testcase/test
_
WhiteBoardPage.py
View file @
3eeea1c8
import
time
import
pytest
from
src.framework.logger
import
Logger
from
src.framework.logger
import
Logger
from
src.pageobject.whiteboardpage
import
WhiteBoardPage
from
src.pageobject.whiteboardpage
import
WhiteBoardPage
from
src.framework.common
import
create_a_live
from
src.framework.common
import
create_a_live
...
@@ -6,13 +10,13 @@ from src.framework.common import screenshot_path, compare_pictures, year_to_minu
...
@@ -6,13 +10,13 @@ from src.framework.common import screenshot_path, compare_pictures, year_to_minu
from
config
import
readConfig
from
config
import
readConfig
import
unittest
import
sys
import
sys
class
TestLivePage
(
unittest
.
TestCase
):
class
TestLivePage
(
object
):
logger
=
Logger
(
'live page'
)
.
getlog
()
logger
=
Logger
(
'live page'
)
.
getlog
()
cloud_class_location
=
readConfig
.
test_location
()
cloud_class_location
=
readConfig
.
test_location
()
time
.
sleep
(
15
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
live_course_name
=
create_a_live
(
start_time
=
25
,
start_time2
=
1
)
driver
=
get_app_driver
(
cloud_class_location
)
driver
=
get_app_driver
(
cloud_class_location
)
live_page
=
WhiteBoardPage
(
driver
=
driver
)
live_page
=
WhiteBoardPage
(
driver
=
driver
)
...
@@ -25,13 +29,12 @@ class TestLivePage(unittest.TestCase):
...
@@ -25,13 +29,12 @@ class TestLivePage(unittest.TestCase):
live_page
.
change_window
(
live_page
.
camera_btn
)
live_page
.
change_window
(
live_page
.
camera_btn
)
live_page
.
sleep
(
5
)
live_page
.
sleep
(
5
)
def
set
Up
(
self
)
->
None
:
def
set
up_class
(
self
)
:
# 指定客户端的本地路径,在/config/config.ini配置
# 指定客户端的本地路径,在/config/config.ini配置
pass
pass
@classmethod
def
teardown_class
(
self
):
def
tearDownClass
(
cls
)
->
None
:
self
.
driver
.
quit
()
cls
.
driver
.
quit
()
# 测试白板功能-文本输入
# 测试白板功能-文本输入
def
testWhiteBoard
(
self
):
def
testWhiteBoard
(
self
):
...
@@ -59,8 +62,8 @@ class TestLivePage(unittest.TestCase):
...
@@ -59,8 +62,8 @@ class TestLivePage(unittest.TestCase):
self
.
live_page
.
save_screenshot
(
after_send_wenben
)
self
.
live_page
.
save_screenshot
(
after_send_wenben
)
wenben_result
=
compare_pictures
(
before_send_wenben
,
after_send_wenben
)
wenben_result
=
compare_pictures
(
before_send_wenben
,
after_send_wenben
)
print
(
wenben_result
)
print
(
wenben_result
)
self
.
assertLessEqual
(
10
,
wenben_result
)
assert
10
<
wenben_result
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
(
verbosity
=
1
)
pytest
.
main
([
"-v"
]
)
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