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

299 lines
17 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_quirks_001(self):
self.LE.init_runner('test_quirks_001') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/body-fills-html-quirk-float.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_001')
def test_quirks_002(self):
self.LE.init_runner('test_quirks_002') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/body-fills-html-quirk-inline.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_002')
def test_quirks_003(self):
self.LE.init_runner('test_quirks_003') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/body-fills-html-quirk-positioned.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_003')
def test_quirks_004(self):
self.LE.init_runner('test_quirks_004') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/body-fills-html-quirk-vertical.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_004')
def test_quirks_005(self):
self.LE.init_runner('test_quirks_005') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/body-fills-html-quirk.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_005')
def test_quirks_006(self):
self.LE.init_runner('test_quirks_006') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/dd-dl-firefox-001.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/dd[2]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/dd[2]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_006')
def test_quirks_007(self):
self.LE.init_runner('test_quirks_007') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/historical/list-item-bullet-size.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/ul[1]', "test") # test页面截图
self.LE.test_screenshot('//*[@id="test"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/ul[1]', "ref") # reference页面截图
self.LE.ref_screenshot('//*[@id="test"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_007')
def test_quirks_008(self):
self.LE.init_runner('test_quirks_008') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/historical/vertical-align-in-quirks.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_implicit_expression_screenshot('/html/body/div[8]/img', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('/html/body/div[8]/img', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_008')
def test_quirks_009(self):
self.LE.init_runner('test_quirks_009') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/html-fills-viewport-quirk-vertical.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="border"]/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_009')
def test_quirks_010(self):
self.LE.init_runner('test_quirks_010') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/html-fills-viewport-quirk.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="border"]/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_010')
def test_quirks_011(self):
self.LE.init_runner('test_quirks_011') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/line-height-in-list-item.tentative.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div/li', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_011')
def test_quirks_012(self):
self.LE.init_runner('test_quirks_012') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/line-height-limited-quirks-mode.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div/div', "test") # test页面截图
self.LE.test_screenshot('/html/body/div/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div/div', "ref") # reference页面截图
self.LE.ref_screenshot('/html/body/div/span', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_012')
def test_quirks_013(self):
self.LE.init_runner('test_quirks_013') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/line-height-quirks-mode.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div/div', "test") # test页面截图
self.LE.test_screenshot('/html/body/div/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div/div', "ref") # reference页面截图
self.LE.ref_screenshot('/html/body/div/span', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_013')
def test_quirks_014(self):
self.LE.init_runner('test_quirks_014') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/line-height-trailing-collapsable-whitespace.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div/div[1]', "test") # test页面截图
self.LE.test_screenshot('/html/body/div/div[2]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_014')
def test_quirks_015(self):
self.LE.init_runner('test_quirks_015') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/percentage-height-quirk-excludes-flex-grid-001.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_implicit_expression_screenshot('/html/body/div[3]/div/div/div[2]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('/html/body/div[3]/div/div/div[2]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_015')
def test_quirks_016(self):
self.LE.init_runner('test_quirks_016') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/percentage-height-quirk-excludes-flex-grid-002.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_implicit_expression_screenshot('/html/body/div[3]/div/div', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('/html/body/div[3]/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_016')
def test_quirks_017(self):
self.LE.init_runner('test_quirks_017') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div[3]/div', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('/html/body/div[3]/div/div', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_017')
def test_quirks_018(self):
self.LE.init_runner('test_quirks_018') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/table-cell-width-calculation-abspos.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('//*[@id="td"]', "test") # test页面截图
self.LE.test_screenshot('//*[@id="img"]', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_screenshot('//*[@id="td"]', "ref") # reference页面截图
self.LE.ref_screenshot('//*[@id="img"]', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_018')
def test_quirks_019(self):
self.LE.init_runner('test_quirks_019') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/text-decoration-doesnt-propagate-into-tables/quirks.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_implicit_expression_screenshot('/html/body/div[4]/u/span/span/span/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('/html/body/div[4]/span/span/span/span/u', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_019')
def test_quirks_020(self):
self.LE.init_runner('test_quirks_020') # 打开runner页面
self.LE.click_js() # 取消勾选js
self.LE.click_manual() # 取消勾选manual
self.LE.send_path('quirks/text-decoration-doesnt-propagate-into-tables/standards.html') # 是否进入指定路径 默认是/ 即全部路径
self.LE.start_test() # 点击start test 按钮
self.LE.click_show_test() # 点击show test按钮
self.LE.test_screenshot('/html/body/div[4]/u/span/span/span/span', "test") # test页面截图
self.LE.click_show_ref() # 点击show reference按钮
self.LE.ref_implicit_expression_screenshot('/html/body/div[4]/span/span/span/span/u', "ref") # reference页面截图
self.LE.test_assert("test", "ref") # 断言
self.LE.runner_end('test_quirks_020')
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并执行测试用例