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_shadow_dom_001(self): 25 self.LE.init_runner('test_shadow_dom_001') # 打开runner页面 26 self.LE.click_js() # 取消勾选js 27 self.LE.click_manual() # 取消勾选manual 28 self.LE.send_path('shadow-dom/directionality-001.tentative.html') # 是否进入指定路径 默认是/ 即全部路径 29 self.LE.start_test() # 点击start test 按钮 30 self.LE.click_show_test() # 点击show test按钮 31 self.LE.test_implicit_expression_screenshot('//*[@id="host2"]/span', "test") # test页面截图 32 self.LE.click_show_ref() # 点击show reference按钮 33 self.LE.ref_implicit_expression_screenshot('/html/body/div[3]/span', "ref") # reference页面截图 34 self.LE.test_assert("test", "ref") # 断言 35 self.LE.runner_end('test_shadow_dom_001') 36 37 def test_shadow_dom_002(self): 38 self.LE.init_runner('test_shadow_dom_002') # 打开runner页面 39 self.LE.click_js() # 取消勾选js 40 self.LE.click_manual() # 取消勾选manual 41 self.LE.send_path('shadow-dom/directionality-002.tentative.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', "ref") # reference页面截图 47 self.LE.test_assert("test", "ref") # 断言 48 self.LE.runner_end('test_shadow_dom_002') 49 50 def test_shadow_dom_003(self): 51 self.LE.init_runner('test_shadow_dom_003') # 打开runner页面 52 self.LE.click_js() # 取消勾选js 53 self.LE.click_manual() # 取消勾选manual 54 self.LE.send_path('shadow-dom/focus/focus-pseudo-on-shadow-host-1.html') # 是否进入指定路径 默认是/ 即全部路径 55 self.LE.start_test() # 点击start test 按钮 56 self.LE.click_show_test() # 点击show test按钮 57 self.LE.test_screenshot('/html/body/div', "test") # test页面截图 58 self.LE.click_show_ref() # 点击show reference按钮 59 self.LE.ref_file_screenshot("ref") # reference页面截图 60 self.LE.test_assert("test", "ref") # 断言 61 self.LE.runner_end('test_shadow_dom_003') 62 63 def test_shadow_dom_004(self): 64 self.LE.init_runner('test_shadow_dom_004') # 打开runner页面 65 self.LE.click_js() # 取消勾选js 66 self.LE.click_manual() # 取消勾选manual 67 self.LE.send_path('shadow-dom/focus/focus-pseudo-on-shadow-host-2.html') # 是否进入指定路径 默认是/ 即全部路径 68 self.LE.start_test() # 点击start test 按钮 69 self.LE.click_show_test() # 点击show test按钮 70 self.LE.test_screenshot('//*[@id="host"]', "test") # test页面截图 71 self.LE.test_screenshot('//*[@id="host"]/span', "test") # test页面截图 72 self.LE.click_show_ref() # 点击show reference按钮 73 self.LE.ref_file_screenshot("ref") # reference页面截图 74 self.LE.test_assert("test", "ref") # 断言 75 self.LE.runner_end('test_shadow_dom_004') 76 77 def test_shadow_dom_005(self): 78 self.LE.init_runner('test_shadow_dom_005') # 打开runner页面 79 self.LE.click_js() # 取消勾选js 80 self.LE.click_manual() # 取消勾选manual 81 self.LE.send_path('shadow-dom/focus/focus-pseudo-on-shadow-host-3.html') # 是否进入指定路径 默认是/ 即全部路径 82 self.LE.start_test() # 点击start test 按钮 83 self.LE.click_show_test() # 点击show test按钮 84 self.LE.test_screenshot('//*[@id="host"]', "test") # test页面截图 85 self.LE.click_show_ref() # 点击show reference按钮 86 self.LE.ref_file_screenshot("ref") # reference页面截图 87 self.LE.test_assert("test", "ref") # 断言 88 self.LE.runner_end('test_shadow_dom_005') 89 90 def test_shadow_dom_006(self): 91 self.LE.init_runner('test_shadow_dom_006') # 打开runner页面 92 self.LE.click_js() # 取消勾选js 93 self.LE.click_manual() # 取消勾选manual 94 self.LE.send_path('shadow-dom/imperative-slot-layout-invalidation-001.html') # 是否进入指定路径 默认是/ 即全部路径 95 self.LE.start_test() # 点击start test 按钮 96 self.LE.click_show_test() # 点击show test按钮 97 self.LE.test_screenshot('/html/body/div', "test") # test页面截图 98 self.LE.click_show_ref() # 点击show reference按钮 99 self.LE.ref_screenshot('/html/body/div/span', "ref") # reference页面截图 100 self.LE.test_assert("test", "ref") # 断言 101 self.LE.runner_end('test_shadow_dom_006') 102 103 def test_shadow_dom_007(self): 104 self.LE.init_runner('test_shadow_dom_007') # 打开runner页面 105 self.LE.click_js() # 取消勾选js 106 self.LE.click_manual() # 取消勾选manual 107 self.LE.send_path('shadow-dom/invalidate-sibling-different-slots.html') # 是否进入指定路径 默认是/ 即全部路径 108 self.LE.start_test() # 点击start test 按钮 109 self.LE.click_show_test() # 点击show test按钮 110 self.LE.test_screenshot('//*[@id="a"]', "test") # test页面截图 111 self.LE.test_screenshot('/html/body/details/summary[2]', "test") # test页面截图 112 self.LE.click_show_ref() # 点击show reference按钮 113 self.LE.ref_screenshot('//*[@id="a"]', "ref") # reference页面截图 114 self.LE.ref_screenshot('/html/body/details/summary[2]', "ref") # reference页面截图 115 self.LE.test_assert("test", "ref") # 断言 116 self.LE.runner_end('test_shadow_dom_007') 117 118 def test_shadow_dom_008(self): 119 self.LE.init_runner('test_shadow_dom_008') # 打开runner页面 120 self.LE.click_js() # 取消勾选js 121 self.LE.click_manual() # 取消勾选manual 122 self.LE.send_path('shadow-dom/layout-slot-no-longer-assigned.html') # 是否进入指定路径 默认是/ 即全部路径 123 self.LE.start_test() # 点击start test 按钮 124 self.LE.click_show_test() # 点击show test按钮 125 self.LE.test_screenshot('/html/body', "test") # test页面截图 126 self.LE.click_show_ref() # 点击show reference按钮 127 self.LE.ref_screenshot('/html/body', "ref") # reference页面截图 128 self.LE.test_assert("test", "ref") # 断言 129 self.LE.runner_end('test_shadow_dom_008') 130 131 def test_shadow_dom_009(self): 132 self.LE.init_runner('test_shadow_dom_009') # 打开runner页面 133 self.LE.click_js() # 取消勾选js 134 self.LE.click_manual() # 取消勾选manual 135 self.LE.send_path('shadow-dom/layout-slot-no-longer-fallback.html') # 是否进入指定路径 默认是/ 即全部路径 136 self.LE.start_test() # 点击start test 按钮 137 self.LE.click_show_test() # 点击show test按钮 138 self.LE.test_screenshot('/html/body', "test") # test页面截图 139 self.LE.click_show_ref() # 点击show reference按钮 140 self.LE.ref_screenshot('/html/body', "ref") # reference页面截图 141 self.LE.test_assert("test", "ref") # 断言 142 self.LE.runner_end('test_shadow_dom_009') 143 144 def test_shadow_dom_010(self): 145 self.LE.init_runner('test_shadow_dom_010') # 打开runner页面 146 self.LE.click_js() # 取消勾选js 147 self.LE.click_manual() # 取消勾选manual 148 self.LE.send_path('shadow-dom/shadow-style-invalidation-vw-units.html') # 是否进入指定路径 默认是/ 即全部路径 149 self.LE.start_test() # 点击start test 按钮 150 self.LE.click_show_test() # 点击show test按钮 151 self.LE.test_screenshot('/html/body/iframe', "test") # test页面截图 152 self.LE.click_show_ref() # 点击show reference按钮 153 self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图 154 self.LE.test_assert("test", "ref") # 断言 155 self.LE.runner_end('test_shadow_dom_010') 156 157 def test_shadow_dom_011(self): 158 self.LE.init_runner('test_shadow_dom_011') # 打开runner页面 159 self.LE.click_js() # 取消勾选js 160 self.LE.click_manual() # 取消勾选manual 161 self.LE.send_path('shadow-dom/slot-fallback-content-001.html') # 是否进入指定路径 默认是/ 即全部路径 162 self.LE.start_test() # 点击start test 按钮 163 self.LE.click_show_test() # 点击show test按钮 164 self.LE.test_screenshot('/html/body/div/div[1]', "test") # test页面截图 165 self.LE.test_screenshot('/html/body/div/div[2]', "test") # test页面截图 166 self.LE.click_show_ref() # 点击show reference按钮 167 self.LE.ref_screenshot('/html/body/div/div[1]', "ref") # reference页面截图 168 self.LE.ref_screenshot('/html/body/div/div[2]', "ref") # reference页面截图 169 self.LE.test_assert("test", "ref") # 断言 170 self.LE.runner_end('test_shadow_dom_011') 171 172 def test_shadow_dom_012(self): 173 self.LE.init_runner('test_shadow_dom_012') # 打开runner页面 174 self.LE.click_js() # 取消勾选js 175 self.LE.click_manual() # 取消勾选manual 176 self.LE.send_path('shadow-dom/slot-fallback-content-002.html') # 是否进入指定路径 默认是/ 即全部路径 177 self.LE.start_test() # 点击start test 按钮 178 self.LE.click_show_test() # 点击show test按钮 179 self.LE.test_screenshot('/html/body/div/div[1]', "test") # test页面截图 180 self.LE.test_screenshot('/html/body/div/div[2]', "test") # test页面截图 181 self.LE.click_show_ref() # 点击show reference按钮 182 self.LE.ref_screenshot('/html/body/div/div[1]', "ref") # reference页面截图 183 self.LE.ref_screenshot('/html/body/div/div[2]', "ref") # reference页面截图 184 self.LE.test_assert("test", "ref") # 断言 185 self.LE.runner_end('test_shadow_dom_012') 186 187 def test_shadow_dom_013(self): 188 self.LE.init_runner('test_shadow_dom_013') # 打开runner页面 189 self.LE.click_js() # 取消勾选js 190 self.LE.click_manual() # 取消勾选manual 191 self.LE.send_path('shadow-dom/slot-fallback-content-003.html') # 是否进入指定路径 默认是/ 即全部路径 192 self.LE.start_test() # 点击start test 按钮 193 self.LE.click_show_test() # 点击show test按钮 194 self.LE.test_screenshot('/html/body/div[1]', "test") # test页面截图 195 self.LE.test_screenshot('/html/body/div[2]', "test") # test页面截图 196 self.LE.click_show_ref() # 点击show reference按钮 197 self.LE.ref_screenshot('/html/body/div[1]', "ref") # reference页面截图 198 self.LE.ref_screenshot('/html/body/div[2]', "ref") # reference页面截图 199 self.LE.test_assert("test", "ref") # 断言 200 self.LE.runner_end('test_shadow_dom_013') 201 202 def test_shadow_dom_014(self): 203 self.LE.init_runner('test_shadow_dom_014') # 打开runner页面 204 self.LE.click_js() # 取消勾选js 205 self.LE.click_manual() # 取消勾选manual 206 self.LE.send_path('shadow-dom/slot-fallback-content-004.html') # 是否进入指定路径 默认是/ 即全部路径 207 self.LE.start_test() # 点击start test 按钮 208 self.LE.click_show_test() # 点击show test按钮 209 self.LE.test_screenshot('//*[@id="host1"]', "test") # test页面截图 210 self.LE.test_screenshot('//*[@id="host3"]', "test") # test页面截图 211 self.LE.test_screenshot('//*[@id="host4"]', "test") # test页面截图 212 self.LE.click_show_ref() # 点击show reference按钮 213 self.LE.ref_screenshot('/html/body/div[1]/div', "ref") # reference页面截图 214 self.LE.ref_screenshot('/html/body/div[2]/div', "ref") # reference页面截图 215 self.LE.ref_screenshot('/html/body/div[3]/div', "ref") # reference页面截图 216 self.LE.test_assert("test", "ref") # 断言 217 self.LE.runner_end('test_shadow_dom_014') 218 219 def test_shadow_dom_015(self): 220 self.LE.init_runner('test_shadow_dom_015') # 打开runner页面 221 self.LE.click_js() # 取消勾选js 222 self.LE.click_manual() # 取消勾选manual 223 self.LE.send_path('shadow-dom/slot-fallback-content-005.html') # 是否进入指定路径 默认是/ 即全部路径 224 self.LE.start_test() # 点击start test 按钮 225 self.LE.click_show_test() # 点击show test按钮 226 self.LE.test_screenshot('//*[@id="host"]', "test") # test页面截图 227 self.LE.click_show_ref() # 点击show reference按钮 228 self.LE.ref_screenshot('/html/body/p', "ref") # reference页面截图 229 self.LE.test_assert("test", "ref") # 断言 230 self.LE.runner_end('test_shadow_dom_015') 231 232 def test_shadow_dom_016(self): 233 self.LE.init_runner('test_shadow_dom_016') # 打开runner页面 234 self.LE.click_js() # 取消勾选js 235 self.LE.click_manual() # 取消勾选manual 236 self.LE.send_path('shadow-dom/slot-fallback-content-006.html') # 是否进入指定路径 默认是/ 即全部路径 237 self.LE.start_test() # 点击start test 按钮 238 self.LE.click_show_test() # 点击show test按钮 239 self.LE.test_implicit_expression_screenshot('/html/body/div[5]', "test") # test页面截图 240 self.LE.click_show_ref() # 点击show reference按钮 241 self.LE.ref_implicit_expression_screenshot('/html/body/div[5]', "ref") # reference页面截图 242 self.LE.test_assert("test", "ref") # 断言 243 self.LE.runner_end('test_shadow_dom_016') 244 245 def test_shadow_dom_017(self): 246 self.LE.init_runner('test_shadow_dom_017') # 打开runner页面 247 self.LE.click_js() # 取消勾选js 248 self.LE.click_manual() # 取消勾选manual 249 self.LE.send_path('shadow-dom/slot-fallback-content-007.html') # 是否进入指定路径 默认是/ 即全部路径 250 self.LE.start_test() # 点击start test 按钮 251 self.LE.click_show_test() # 点击show test按钮 252 self.LE.test_implicit_expression_screenshot('/html/body/div/div[3]', "test") # test页面截图 253 self.LE.click_show_ref() # 点击show reference按钮 254 self.LE.ref_screenshot('/html/body/div/div[1]', "ref") # reference页面截图 255 self.LE.ref_screenshot('/html/body/div/div[2]', "ref") # reference页面截图 256 self.LE.ref_screenshot('/html/body/div/div[3]', "ref") # reference页面截图 257 self.LE.ref_screenshot('/html/body/div/div[4]', "ref") # reference页面截图 258 self.LE.test_assert("test", "ref") # 断言 259 self.LE.runner_end('test_shadow_dom_017') 260 261 def test_shadow_dom_018(self): 262 self.LE.init_runner('test_shadow_dom_018') # 打开runner页面 263 self.LE.click_js() # 取消勾选js 264 self.LE.click_manual() # 取消勾选manual 265 self.LE.send_path('shadow-dom/slot-fallback-content-008.html') # 是否进入指定路径 默认是/ 即全部路径 266 self.LE.start_test() # 点击start test 按钮 267 self.LE.click_show_test() # 点击show test按钮 268 self.LE.test_implicit_expression_screenshot('/html/body/div', "test") # test页面截图 269 self.LE.click_show_ref() # 点击show reference按钮 270 self.LE.ref_screenshot('/html/body/div/div[1]', "ref") # reference页面截图 271 self.LE.test_assert("test", "ref") # 断言 272 self.LE.runner_end('test_shadow_dom_018') 273 274 def test_shadow_dom_019(self): 275 self.LE.init_runner('test_shadow_dom_019') # 打开runner页面 276 self.LE.click_js() # 取消勾选js 277 self.LE.click_manual() # 取消勾选manual 278 self.LE.send_path('shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html') # 是否进入指定路径 默认是/ 即全部路径 279 self.LE.start_test() # 点击start test 按钮 280 self.LE.click_show_test() # 点击show test按钮 281 self.LE.test_screenshot('/html/body/div', "test") # test页面截图 282 self.LE.click_show_ref() # 点击show reference按钮 283 self.LE.ref_screenshot('/html/body/div//div//div', "ref") # reference页面截图 284 self.LE.test_assert("test", "ref") # 断言 285 self.LE.runner_end('test_shadow_dom_019') 286 287 def test_shadow_dom_020(self): 288 self.LE.init_runner('test_shadow_dom_020') # 打开runner页面 289 self.LE.click_js() # 取消勾选js 290 self.LE.click_manual() # 取消勾选manual 291 self.LE.send_path('shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html') # 是否进入指定路径 默认是/ 即全部路径 292 self.LE.start_test() # 点击start test 按钮 293 self.LE.click_show_test() # 点击show test按钮 294 self.LE.test_implicit_expression_screenshot('//*[@id="host"]/div[1]', "test") # test页面截图 295 self.LE.click_show_ref() # 点击show reference按钮 296 self.LE.ref_implicit_expression_screenshot('//*[@id="host2"]/div[2]/div[3]', "ref") # reference页面截图 297 self.LE.test_assert("test", "ref") # 断言 298 self.LE.runner_end('test_shadow_dom_020') 299 300 def test_shadow_dom_021(self): 301 self.LE.init_runner('test_shadow_dom_021') # 打开runner页面 302 self.LE.click_js() # 取消勾选js 303 self.LE.click_manual() # 取消勾选manual 304 self.LE.send_path('shadow-dom/untriaged/shadow-trees/shadow-root-001.html') # 是否进入指定路径 默认是/ 即全部路径 305 self.LE.start_test() # 点击start test 按钮 306 self.LE.click_show_test() # 点击show test按钮 307 self.LE.test_screenshot('/html/body/div', "test") # test页面截图 308 self.LE.click_show_ref() # 点击show reference按钮 309 self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图 310 self.LE.test_assert("test", "ref") # 断言 311 self.LE.runner_end('test_shadow_dom_021') 312 313 def test_shadow_dom_022(self): 314 self.LE.init_runner('test_shadow_dom_022') # 打开runner页面 315 self.LE.click_js() # 取消勾选js 316 self.LE.click_manual() # 取消勾选manual 317 self.LE.send_path('shadow-dom/untriaged/shadow-trees/shadow-root-002.html') # 是否进入指定路径 默认是/ 即全部路径 318 self.LE.start_test() # 点击start test 按钮 319 self.LE.click_show_test() # 点击show test按钮 320 self.LE.test_screenshot('/html/body/div//div[1]', "test") # test页面截图 321 self.LE.test_screenshot('//*[@id="host"]//div[2]', "test") # test页面截图 322 self.LE.test_screenshot('//*[@id="host"]/div[1]', "test") # test页面截图 323 self.LE.test_screenshot('//*[@id="host"]/div[2]', "test") # test页面截图 324 self.LE.click_show_ref() # 点击show reference按钮 325 self.LE.ref_screenshot('/html/body/div[1]', "ref") # reference页面截图 326 self.LE.ref_screenshot('/html/body/div[2]', "ref") # reference页面截图 327 self.LE.ref_screenshot('/html/body/div[3]', "ref") # reference页面截图 328 self.LE.ref_screenshot('/html/body/div[4]', "ref") # reference页面截图 329 self.LE.test_assert("test", "ref") # 断言 330 self.LE.runner_end('test_shadow_dom_022') 331 332 def test_shadow_dom_023(self): 333 self.LE.init_runner('test_shadow_dom_023') # 打开runner页面 334 self.LE.click_js() # 取消勾选js 335 self.LE.click_manual() # 取消勾选manual 336 self.LE.send_path('shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html') # 是否进入指定路径 默认是/ 即全部路径 337 self.LE.start_test() # 点击start test 按钮 338 self.LE.click_show_test() # 点击show test按钮 339 self.LE.test_screenshot('//*[@id="shadow-host"]', "test") # test页面截图 340 self.LE.click_show_ref() # 点击show reference按钮 341 self.LE.ref_screenshot('/html/body/div', "ref") # reference页面截图 342 self.LE.test_assert("test", "ref") # 断言 343 self.LE.runner_end('test_shadow_dom_023') 344 345if __name__ == '__main__': 346 suite = unittest.TestSuite() # 实例化TestSuite 347 suite.addTest(Test("test_add_02")) # 添加测试用例 348 suite.addTest(Test("test_add_01")) 349 runner = unittest.TextTestRunner() # 实例化TextTestRunner 350 runner.run(suite) # 传入suite并执行测试用例 351