1""" 2 * Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14""" 15import unittest 16from Tool import WebView 17 18class Test(unittest.TestCase): 19 @classmethod # 初始化测试环境且只会执行一次 20 def setUp(self) -> None: 21 self.LE = WebView() 22 self.LE.init_webview(test_package='com.example.myapplication') # 运行chromeDriver 23 24 def test_dom_001(self): 25 self.LE.init_runner('test_dom_001') # 打开runner页面 26 self.LE.click_js() # 取消勾选js 27 self.LE.click_manual() # 取消勾选manual 28 self.LE.send_path('dom/nodes/remove-from-shadow-host-and-adopt-into-iframe.html') # 是否进入指定路径 默认是/ 即全部路径 29 self.LE.start_test() # 点击start test 按钮 30 self.LE.click_show_test() # 点击show test按钮 31 self.LE.test_screenshot('//*[@id="iframe"]', "test") # test页面截图 32 self.LE.click_show_ref() # 点击show reference按钮 33 self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图 34 self.LE.test_assert("test", "ref") # 断言 35 self.LE.runner_end('test_dom_001') 36 37 def test_dom_002(self): 38 self.LE.init_runner('test_dom_002') # 打开runner页面 39 self.LE.click_js() # 取消勾选js 40 self.LE.click_manual() # 取消勾选manual 41 self.LE.send_path('dom/slot-recalc.html') # 是否进入指定路径 默认是/ 即全部路径 42 self.LE.start_test() # 点击start test 按钮 43 self.LE.click_show_test() # 点击show test按钮 44 self.LE.test_screenshot('/html/body/div', "test") # test页面截图 45 self.LE.click_show_ref() # 点击show reference按钮 46 self.LE.ref_screenshot('/html/body/div/p[1]', "ref") # reference页面截图 47 self.LE.ref_screenshot('/html/body/div/p[2]', "ref") # reference页面截图 48 self.LE.test_assert("test", "ref") # 断言 49 self.LE.runner_end('test_dom_002') 50 51 def test_dom_003(self): 52 self.LE.init_runner('test_dom_003') # 打开runner页面 53 self.LE.click_js() # 取消勾选js 54 self.LE.click_manual() # 取消勾选manual 55 self.LE.send_path('dom/xslt/sort.html') # 是否进入指定路径 默认是/ 即全部路径 56 self.LE.start_test() # 点击start test 按钮 57 self.LE.click_show_test() # 点击show test按钮 58 self.LE.test_screenshot('//*[@id="container"]/div[1]', "test") # test页面截图 59 self.LE.test_screenshot('//*[@id="container"]/div[2]', "test") # test页面截图 60 self.LE.test_screenshot('//*[@id="container"]/div[3]', "test") # test页面截图 61 self.LE.test_screenshot('//*[@id="container"]/div[4]', "test") # test页面截图 62 self.LE.click_show_ref() # 点击show reference按钮 63 self.LE.ref_screenshot('/html/body/div/div[1]', "ref") # reference页面截图 64 self.LE.ref_screenshot('/html/body/div/div[2]', "ref") # reference页面截图 65 self.LE.ref_screenshot('/html/body/div/div[3]', "ref") # reference页面截图 66 self.LE.ref_screenshot('/html/body/div/div[4]', "ref") # reference页面截图 67 self.LE.test_assert("test", "ref") # 断言 68 self.LE.runner_end('test_dom_003') 69 70if __name__ == '__main__': 71 suite = unittest.TestSuite() # 实例化TestSuite 72 suite.addTest(Test("test_add_02")) # 添加测试用例 73 suite.addTest(Test("test_add_01")) 74 runner = unittest.TextTestRunner() # 实例化TextTestRunner 75 runner.run(suite) # 传入suite并执行测试用例 76