xts_tools/reftest/web_animations.py
openharmony_ci a9d8c01623 !237 新建UI自动化对比工具代码仓
Merge pull request !237 from zhangshuang-xiaohuihui/master
2023-06-14 16:02:29 +08:00

134 lines
7.6 KiB
Python

"""
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
"""
import unittest
from Tool import WebView
class Test(unittest.TestCase):
@classmethod # 初始化测试环境且只会执行一次
def setUp(self) -> None:
self.LE = WebView()
self.LE.init_webview(test_package='com.example.myapplication') # 运行chromeDriver
def test_web_animations_001(self):
self.LE.init_runner('test_web_animations_001') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/animation-model/keyframe-effects/transform-and-opacity-on-inline-001.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="target"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="target"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_001')
def test_web_animations_002(self):
self.LE.init_runner('test_web_animations_002') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/responsive/toggle-animated-iframe-visibility.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="container"]/iframe', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('//*[@id="container"]/iframe', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_002')
def test_web_animations_003(self):
self.LE.init_runner('test_web_animations_003') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/document-timeline-animation.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div[1]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_003')
def test_web_animations_004(self):
self.LE.init_runner('test_web_animations_004') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/infinite-duration-animation.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="notes"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="notes"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_004')
def test_web_animations_005(self):
self.LE.init_runner('test_web_animations_005') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/reverse-running-animation.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="box"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('//*[@id="box"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_005')
def test_web_animations_006(self):
self.LE.init_runner('test_web_animations_006') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/sync-start-times.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="notes"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="notes"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_006')
def test_web_animations_007(self):
self.LE.init_runner('test_web_animations_007') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/update-playback-rate-fast.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="box"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="box"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_007')
def test_web_animations_008(self):
self.LE.init_runner('test_web_animations_008') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('web-animations/timing-model/animations/update-playback-rate-zero.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="box"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="box"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_web_animations_008')
if __name__ == '__main__':
suite = unittest.TestSuite() # 实例化TestSuite
suite.addTest(Test("test_add_02")) # 添加测试用例
suite.addTest(Test("test_add_01"))
runner = unittest.TextTestRunner() # 实例化TextTestRunner
runner.run(suite) # 传入suite并执行测试用例