playwright-browserstack 1.56.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. playwright-browserstack-1.56.1/.azure-pipelines/guardian/SDL/.gdnsuppress +105 -0
  2. playwright-browserstack-1.56.1/.azure-pipelines/publish.yml +82 -0
  3. playwright-browserstack-1.56.1/.gitattributes +2 -0
  4. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/bug.yml +96 -0
  5. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/config.yml +5 -0
  6. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/documentation.yml +29 -0
  7. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/feature.yml +30 -0
  8. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/question.yml +27 -0
  9. playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/regression.yml +92 -0
  10. playwright-browserstack-1.56.1/.github/dependabot.yml +14 -0
  11. playwright-browserstack-1.56.1/.github/workflows/ci.yml +197 -0
  12. playwright-browserstack-1.56.1/.github/workflows/publish.yml +50 -0
  13. playwright-browserstack-1.56.1/.github/workflows/publish_docker.yml +41 -0
  14. playwright-browserstack-1.56.1/.github/workflows/test_docker.yml +58 -0
  15. playwright-browserstack-1.56.1/.gitignore +23 -0
  16. playwright-browserstack-1.56.1/.pre-commit-config.yaml +49 -0
  17. playwright-browserstack-1.56.1/CODE_OF_CONDUCT.md +9 -0
  18. playwright-browserstack-1.56.1/CONTRIBUTING.md +78 -0
  19. playwright-browserstack-1.56.1/LICENSE +202 -0
  20. playwright-browserstack-1.56.1/LICENSE.txt +51 -0
  21. playwright-browserstack-1.56.1/NOTICE +18 -0
  22. playwright-browserstack-1.56.1/PKG-INFO +78 -0
  23. playwright-browserstack-1.56.1/README.md +54 -0
  24. playwright-browserstack-1.56.1/RELEASING.md +126 -0
  25. playwright-browserstack-1.56.1/ROLLING.md +25 -0
  26. playwright-browserstack-1.56.1/SECURITY.md +41 -0
  27. playwright-browserstack-1.56.1/SUPPORT.md +17 -0
  28. playwright-browserstack-1.56.1/conda_build_config_linux_aarch64.yaml +2 -0
  29. playwright-browserstack-1.56.1/conda_build_config_osx_arm64.yaml +2 -0
  30. playwright-browserstack-1.56.1/examples/todomvc/mvctests/__init__.py +0 -0
  31. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_clear_completed_button.py +51 -0
  32. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_counter.py +41 -0
  33. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_editing.py +97 -0
  34. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_item.py +89 -0
  35. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_mark_all_as_completed.py +84 -0
  36. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_new_todo.py +89 -0
  37. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_persistence.py +48 -0
  38. playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_routing.py +94 -0
  39. playwright-browserstack-1.56.1/examples/todomvc/mvctests/utils.py +41 -0
  40. playwright-browserstack-1.56.1/examples/todomvc/requirements.txt +1 -0
  41. playwright-browserstack-1.56.1/local-requirements.txt +22 -0
  42. playwright-browserstack-1.56.1/meta.yaml +61 -0
  43. playwright-browserstack-1.56.1/playwright/__init__.py +19 -0
  44. playwright-browserstack-1.56.1/playwright/__main__.py +33 -0
  45. playwright-browserstack-1.56.1/playwright/_impl/__init__.py +0 -0
  46. playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/__init__.py +20 -0
  47. playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/hook-playwright.async_api.py +17 -0
  48. playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/hook-playwright.sync_api.py +17 -0
  49. playwright-browserstack-1.56.1/playwright/_impl/_accessibility.py +69 -0
  50. playwright-browserstack-1.56.1/playwright/_impl/_android.py +625 -0
  51. playwright-browserstack-1.56.1/playwright/_impl/_api_structures.py +313 -0
  52. playwright-browserstack-1.56.1/playwright/_impl/_artifact.py +87 -0
  53. playwright-browserstack-1.56.1/playwright/_impl/_assertions.py +1031 -0
  54. playwright-browserstack-1.56.1/playwright/_impl/_async_base.py +105 -0
  55. playwright-browserstack-1.56.1/playwright/_impl/_browser.py +276 -0
  56. playwright-browserstack-1.56.1/playwright/_impl/_browser_context.py +758 -0
  57. playwright-browserstack-1.56.1/playwright/_impl/_browser_type.py +364 -0
  58. playwright-browserstack-1.56.1/playwright/_impl/_cdp_session.py +38 -0
  59. playwright-browserstack-1.56.1/playwright/_impl/_clock.py +104 -0
  60. playwright-browserstack-1.56.1/playwright/_impl/_connection.py +673 -0
  61. playwright-browserstack-1.56.1/playwright/_impl/_console_message.py +78 -0
  62. playwright-browserstack-1.56.1/playwright/_impl/_dialog.py +57 -0
  63. playwright-browserstack-1.56.1/playwright/_impl/_download.py +64 -0
  64. playwright-browserstack-1.56.1/playwright/_impl/_driver.py +41 -0
  65. playwright-browserstack-1.56.1/playwright/_impl/_element_handle.py +464 -0
  66. playwright-browserstack-1.56.1/playwright/_impl/_errors.py +60 -0
  67. playwright-browserstack-1.56.1/playwright/_impl/_event_context_manager.py +33 -0
  68. playwright-browserstack-1.56.1/playwright/_impl/_fetch.py +555 -0
  69. playwright-browserstack-1.56.1/playwright/_impl/_file_chooser.py +57 -0
  70. playwright-browserstack-1.56.1/playwright/_impl/_frame.py +897 -0
  71. playwright-browserstack-1.56.1/playwright/_impl/_glob.py +56 -0
  72. playwright-browserstack-1.56.1/playwright/_impl/_greenlets.py +49 -0
  73. playwright-browserstack-1.56.1/playwright/_impl/_har_router.py +122 -0
  74. playwright-browserstack-1.56.1/playwright/_impl/_helper.py +573 -0
  75. playwright-browserstack-1.56.1/playwright/_impl/_impl_to_api_mapping.py +142 -0
  76. playwright-browserstack-1.56.1/playwright/_impl/_input.py +111 -0
  77. playwright-browserstack-1.56.1/playwright/_impl/_js_handle.py +336 -0
  78. playwright-browserstack-1.56.1/playwright/_impl/_json_pipe.py +86 -0
  79. playwright-browserstack-1.56.1/playwright/_impl/_local_utils.py +93 -0
  80. playwright-browserstack-1.56.1/playwright/_impl/_locator.py +934 -0
  81. playwright-browserstack-1.56.1/playwright/_impl/_map.py +31 -0
  82. playwright-browserstack-1.56.1/playwright/_impl/_network.py +1029 -0
  83. playwright-browserstack-1.56.1/playwright/_impl/_object_factory.py +110 -0
  84. playwright-browserstack-1.56.1/playwright/_impl/_page.py +1546 -0
  85. playwright-browserstack-1.56.1/playwright/_impl/_path_utils.py +27 -0
  86. playwright-browserstack-1.56.1/playwright/_impl/_playwright.py +65 -0
  87. playwright-browserstack-1.56.1/playwright/_impl/_selectors.py +67 -0
  88. playwright-browserstack-1.56.1/playwright/_impl/_set_input_files_helpers.py +156 -0
  89. playwright-browserstack-1.56.1/playwright/_impl/_str_utils.py +76 -0
  90. playwright-browserstack-1.56.1/playwright/_impl/_stream.py +46 -0
  91. playwright-browserstack-1.56.1/playwright/_impl/_sync_base.py +151 -0
  92. playwright-browserstack-1.56.1/playwright/_impl/_tracing.py +146 -0
  93. playwright-browserstack-1.56.1/playwright/_impl/_transport.py +178 -0
  94. playwright-browserstack-1.56.1/playwright/_impl/_video.py +71 -0
  95. playwright-browserstack-1.56.1/playwright/_impl/_waiter.py +166 -0
  96. playwright-browserstack-1.56.1/playwright/_impl/_web_error.py +41 -0
  97. playwright-browserstack-1.56.1/playwright/_impl/_writable_stream.py +42 -0
  98. playwright-browserstack-1.56.1/playwright/_repo_version.py +21 -0
  99. playwright-browserstack-1.56.1/playwright/async_api/__init__.py +211 -0
  100. playwright-browserstack-1.56.1/playwright/async_api/_context_manager.py +57 -0
  101. playwright-browserstack-1.56.1/playwright/async_api/_generated.py +21271 -0
  102. playwright-browserstack-1.56.1/playwright/py.typed +0 -0
  103. playwright-browserstack-1.56.1/playwright/sync_api/__init__.py +211 -0
  104. playwright-browserstack-1.56.1/playwright/sync_api/_context_manager.py +98 -0
  105. playwright-browserstack-1.56.1/playwright/sync_api/_generated.py +21466 -0
  106. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/PKG-INFO +78 -0
  107. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/SOURCES.txt +429 -0
  108. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/dependency_links.txt +1 -0
  109. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/entry_points.txt +5 -0
  110. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/requires.txt +2 -0
  111. playwright-browserstack-1.56.1/playwright_browserstack.egg-info/top_level.txt +1 -0
  112. playwright-browserstack-1.56.1/pyproject.toml +99 -0
  113. playwright-browserstack-1.56.1/requirements.txt +8 -0
  114. playwright-browserstack-1.56.1/scripts/documentation_provider.py +566 -0
  115. playwright-browserstack-1.56.1/scripts/example_async.py +30 -0
  116. playwright-browserstack-1.56.1/scripts/example_sync.py +28 -0
  117. playwright-browserstack-1.56.1/scripts/expected_api_mismatch.txt +22 -0
  118. playwright-browserstack-1.56.1/scripts/generate_api.py +333 -0
  119. playwright-browserstack-1.56.1/scripts/generate_async_api.py +140 -0
  120. playwright-browserstack-1.56.1/scripts/generate_sync_api.py +141 -0
  121. playwright-browserstack-1.56.1/scripts/update_api.sh +24 -0
  122. playwright-browserstack-1.56.1/scripts/update_versions.py +40 -0
  123. playwright-browserstack-1.56.1/setup.cfg +11 -0
  124. playwright-browserstack-1.56.1/setup.py +207 -0
  125. playwright-browserstack-1.56.1/tests/__init__.py +0 -0
  126. playwright-browserstack-1.56.1/tests/assets/beforeunload.html +9 -0
  127. playwright-browserstack-1.56.1/tests/assets/client-certificates/README.md +7 -0
  128. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.csr +27 -0
  129. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.ext +1 -0
  130. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.key +52 -0
  131. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.pem +30 -0
  132. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/cert.pem +28 -0
  133. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/csr.pem +26 -0
  134. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/key.pem +52 -0
  135. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert-legacy.pfx +0 -0
  136. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert.pem +29 -0
  137. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert.pfx +0 -0
  138. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/csr.pem +26 -0
  139. playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/key.pem +52 -0
  140. playwright-browserstack-1.56.1/tests/assets/client-certificates/generate.sh +88 -0
  141. playwright-browserstack-1.56.1/tests/assets/client-certificates/server/server_cert.pem +32 -0
  142. playwright-browserstack-1.56.1/tests/assets/client-certificates/server/server_key.pem +52 -0
  143. playwright-browserstack-1.56.1/tests/assets/client.py +34 -0
  144. playwright-browserstack-1.56.1/tests/assets/consolelog.html +11 -0
  145. playwright-browserstack-1.56.1/tests/assets/csp.html +1 -0
  146. playwright-browserstack-1.56.1/tests/assets/digits/0.png +0 -0
  147. playwright-browserstack-1.56.1/tests/assets/digits/1.png +0 -0
  148. playwright-browserstack-1.56.1/tests/assets/digits/2.png +0 -0
  149. playwright-browserstack-1.56.1/tests/assets/digits/3.png +0 -0
  150. playwright-browserstack-1.56.1/tests/assets/digits/4.png +0 -0
  151. playwright-browserstack-1.56.1/tests/assets/digits/5.png +0 -0
  152. playwright-browserstack-1.56.1/tests/assets/digits/6.png +0 -0
  153. playwright-browserstack-1.56.1/tests/assets/digits/7.png +0 -0
  154. playwright-browserstack-1.56.1/tests/assets/digits/8.png +0 -0
  155. playwright-browserstack-1.56.1/tests/assets/digits/9.png +0 -0
  156. playwright-browserstack-1.56.1/tests/assets/dom.html +4 -0
  157. playwright-browserstack-1.56.1/tests/assets/download-blob.html +29 -0
  158. playwright-browserstack-1.56.1/tests/assets/drag-n-drop.html +40 -0
  159. playwright-browserstack-1.56.1/tests/assets/dummy_bad_browser_executable.js +3 -0
  160. playwright-browserstack-1.56.1/tests/assets/empty.html +0 -0
  161. playwright-browserstack-1.56.1/tests/assets/error.html +17 -0
  162. playwright-browserstack-1.56.1/tests/assets/es6/.eslintrc +5 -0
  163. playwright-browserstack-1.56.1/tests/assets/es6/es6import.js +2 -0
  164. playwright-browserstack-1.56.1/tests/assets/es6/es6module.js +1 -0
  165. playwright-browserstack-1.56.1/tests/assets/es6/es6pathimport.js +2 -0
  166. playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/content-script.js +2 -0
  167. playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/index.js +2 -0
  168. playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/manifest.json +14 -0
  169. playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/background.js +5 -0
  170. playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/content.js +1 -0
  171. playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/manifest.json +17 -0
  172. playwright-browserstack-1.56.1/tests/assets/file-to-upload-2.txt +1 -0
  173. playwright-browserstack-1.56.1/tests/assets/file-to-upload.txt +1 -0
  174. playwright-browserstack-1.56.1/tests/assets/frames/child-redirect.html +1 -0
  175. playwright-browserstack-1.56.1/tests/assets/frames/frame.html +15 -0
  176. playwright-browserstack-1.56.1/tests/assets/frames/frameset.html +8 -0
  177. playwright-browserstack-1.56.1/tests/assets/frames/nested-frames.html +30 -0
  178. playwright-browserstack-1.56.1/tests/assets/frames/one-frame.html +1 -0
  179. playwright-browserstack-1.56.1/tests/assets/frames/redirect-my-parent.html +3 -0
  180. playwright-browserstack-1.56.1/tests/assets/frames/script.js +1 -0
  181. playwright-browserstack-1.56.1/tests/assets/frames/style.css +3 -0
  182. playwright-browserstack-1.56.1/tests/assets/frames/two-frames.html +16 -0
  183. playwright-browserstack-1.56.1/tests/assets/geolocation.html +7 -0
  184. playwright-browserstack-1.56.1/tests/assets/global-var.html +3 -0
  185. playwright-browserstack-1.56.1/tests/assets/grid.html +52 -0
  186. playwright-browserstack-1.56.1/tests/assets/har-fulfill.har +366 -0
  187. playwright-browserstack-1.56.1/tests/assets/har-redirect.har +620 -0
  188. playwright-browserstack-1.56.1/tests/assets/har-sha1-main-response.txt +1 -0
  189. playwright-browserstack-1.56.1/tests/assets/har-sha1.har +95 -0
  190. playwright-browserstack-1.56.1/tests/assets/har.html +3 -0
  191. playwright-browserstack-1.56.1/tests/assets/headings.html +15 -0
  192. playwright-browserstack-1.56.1/tests/assets/historyapi.html +5 -0
  193. playwright-browserstack-1.56.1/tests/assets/injectedfile.js +3 -0
  194. playwright-browserstack-1.56.1/tests/assets/injectedstyle.css +3 -0
  195. playwright-browserstack-1.56.1/tests/assets/input/animating-button.html +42 -0
  196. playwright-browserstack-1.56.1/tests/assets/input/button.html +32 -0
  197. playwright-browserstack-1.56.1/tests/assets/input/checkbox.html +42 -0
  198. playwright-browserstack-1.56.1/tests/assets/input/fileupload-multi.html +12 -0
  199. playwright-browserstack-1.56.1/tests/assets/input/fileupload.html +12 -0
  200. playwright-browserstack-1.56.1/tests/assets/input/folderupload.html +12 -0
  201. playwright-browserstack-1.56.1/tests/assets/input/handle-locator.html +91 -0
  202. playwright-browserstack-1.56.1/tests/assets/input/keyboard.html +42 -0
  203. playwright-browserstack-1.56.1/tests/assets/input/mouse-helper.js +62 -0
  204. playwright-browserstack-1.56.1/tests/assets/input/rotatedButton.html +21 -0
  205. playwright-browserstack-1.56.1/tests/assets/input/scrollable.html +23 -0
  206. playwright-browserstack-1.56.1/tests/assets/input/select.html +69 -0
  207. playwright-browserstack-1.56.1/tests/assets/input/textarea.html +20 -0
  208. playwright-browserstack-1.56.1/tests/assets/input/touches.html +35 -0
  209. playwright-browserstack-1.56.1/tests/assets/mobile.html +1 -0
  210. playwright-browserstack-1.56.1/tests/assets/networkidle.html +1 -0
  211. playwright-browserstack-1.56.1/tests/assets/networkidle.js +12 -0
  212. playwright-browserstack-1.56.1/tests/assets/offscreenbuttons.html +55 -0
  213. playwright-browserstack-1.56.1/tests/assets/one-style.css +3 -0
  214. playwright-browserstack-1.56.1/tests/assets/one-style.html +2 -0
  215. playwright-browserstack-1.56.1/tests/assets/playground.html +15 -0
  216. playwright-browserstack-1.56.1/tests/assets/popup/popup.html +12 -0
  217. playwright-browserstack-1.56.1/tests/assets/popup/window-open.html +11 -0
  218. playwright-browserstack-1.56.1/tests/assets/pptr.png +0 -0
  219. playwright-browserstack-1.56.1/tests/assets/react/react-dom@16.13.1.production.min.js +239 -0
  220. playwright-browserstack-1.56.1/tests/assets/react/react@16.13.1.production.min.js +32 -0
  221. playwright-browserstack-1.56.1/tests/assets/react.html +33 -0
  222. playwright-browserstack-1.56.1/tests/assets/sectionselectorengine.js +10 -0
  223. playwright-browserstack-1.56.1/tests/assets/self-request.html +5 -0
  224. playwright-browserstack-1.56.1/tests/assets/serviceworkers/empty/sw.html +3 -0
  225. playwright-browserstack-1.56.1/tests/assets/serviceworkers/empty/sw.js +0 -0
  226. playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/style.css +3 -0
  227. playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/sw.html +5 -0
  228. playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/sw.js +7 -0
  229. playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetchdummy/sw.html +12 -0
  230. playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetchdummy/sw.js +15 -0
  231. playwright-browserstack-1.56.1/tests/assets/shadow.html +17 -0
  232. playwright-browserstack-1.56.1/tests/assets/simple.json +1 -0
  233. playwright-browserstack-1.56.1/tests/assets/title.html +1 -0
  234. playwright-browserstack-1.56.1/tests/assets/worker/worker.html +14 -0
  235. playwright-browserstack-1.56.1/tests/assets/worker/worker.js +16 -0
  236. playwright-browserstack-1.56.1/tests/assets/wrappedlink.html +32 -0
  237. playwright-browserstack-1.56.1/tests/async/__init__.py +0 -0
  238. playwright-browserstack-1.56.1/tests/async/conftest.py +211 -0
  239. playwright-browserstack-1.56.1/tests/async/test_accessibility.py +388 -0
  240. playwright-browserstack-1.56.1/tests/async/test_add_init_script.py +91 -0
  241. playwright-browserstack-1.56.1/tests/async/test_assertions.py +1134 -0
  242. playwright-browserstack-1.56.1/tests/async/test_asyncio.py +101 -0
  243. playwright-browserstack-1.56.1/tests/async/test_browser.py +55 -0
  244. playwright-browserstack-1.56.1/tests/async/test_browsercontext.py +832 -0
  245. playwright-browserstack-1.56.1/tests/async/test_browsercontext_add_cookies.py +436 -0
  246. playwright-browserstack-1.56.1/tests/async/test_browsercontext_clearcookies.py +198 -0
  247. playwright-browserstack-1.56.1/tests/async/test_browsercontext_client_certificates.py +268 -0
  248. playwright-browserstack-1.56.1/tests/async/test_browsercontext_cookies.py +229 -0
  249. playwright-browserstack-1.56.1/tests/async/test_browsercontext_events.py +208 -0
  250. playwright-browserstack-1.56.1/tests/async/test_browsercontext_proxy.py +161 -0
  251. playwright-browserstack-1.56.1/tests/async/test_browsercontext_request_fallback.py +297 -0
  252. playwright-browserstack-1.56.1/tests/async/test_browsercontext_request_intercept.py +194 -0
  253. playwright-browserstack-1.56.1/tests/async/test_browsercontext_route.py +516 -0
  254. playwright-browserstack-1.56.1/tests/async/test_browsercontext_service_worker_policy.py +37 -0
  255. playwright-browserstack-1.56.1/tests/async/test_browsercontext_storage_state.py +190 -0
  256. playwright-browserstack-1.56.1/tests/async/test_browsertype_connect.py +478 -0
  257. playwright-browserstack-1.56.1/tests/async/test_browsertype_connect_cdp.py +117 -0
  258. playwright-browserstack-1.56.1/tests/async/test_cdp_session.py +95 -0
  259. playwright-browserstack-1.56.1/tests/async/test_check.py +85 -0
  260. playwright-browserstack-1.56.1/tests/async/test_chromium_tracing.py +119 -0
  261. playwright-browserstack-1.56.1/tests/async/test_click.py +1113 -0
  262. playwright-browserstack-1.56.1/tests/async/test_console.py +152 -0
  263. playwright-browserstack-1.56.1/tests/async/test_context_manager.py +38 -0
  264. playwright-browserstack-1.56.1/tests/async/test_defaultbrowsercontext.py +463 -0
  265. playwright-browserstack-1.56.1/tests/async/test_device_descriptors.py +54 -0
  266. playwright-browserstack-1.56.1/tests/async/test_dialog.py +104 -0
  267. playwright-browserstack-1.56.1/tests/async/test_dispatch_event.py +191 -0
  268. playwright-browserstack-1.56.1/tests/async/test_download.py +388 -0
  269. playwright-browserstack-1.56.1/tests/async/test_element_handle.py +794 -0
  270. playwright-browserstack-1.56.1/tests/async/test_element_handle_wait_for_element_state.py +158 -0
  271. playwright-browserstack-1.56.1/tests/async/test_emulation_focus.py +151 -0
  272. playwright-browserstack-1.56.1/tests/async/test_expect_misc.py +80 -0
  273. playwright-browserstack-1.56.1/tests/async/test_extension.py +125 -0
  274. playwright-browserstack-1.56.1/tests/async/test_fetch_browser_context.py +375 -0
  275. playwright-browserstack-1.56.1/tests/async/test_fetch_global.py +555 -0
  276. playwright-browserstack-1.56.1/tests/async/test_fill.py +38 -0
  277. playwright-browserstack-1.56.1/tests/async/test_focus.py +110 -0
  278. playwright-browserstack-1.56.1/tests/async/test_frames.py +298 -0
  279. playwright-browserstack-1.56.1/tests/async/test_geolocation.py +136 -0
  280. playwright-browserstack-1.56.1/tests/async/test_har.py +806 -0
  281. playwright-browserstack-1.56.1/tests/async/test_headful.py +179 -0
  282. playwright-browserstack-1.56.1/tests/async/test_ignore_https_errors.py +39 -0
  283. playwright-browserstack-1.56.1/tests/async/test_input.py +509 -0
  284. playwright-browserstack-1.56.1/tests/async/test_issues.py +55 -0
  285. playwright-browserstack-1.56.1/tests/async/test_jshandle.py +230 -0
  286. playwright-browserstack-1.56.1/tests/async/test_keyboard.py +569 -0
  287. playwright-browserstack-1.56.1/tests/async/test_launcher.py +109 -0
  288. playwright-browserstack-1.56.1/tests/async/test_listeners.py +32 -0
  289. playwright-browserstack-1.56.1/tests/async/test_locators.py +1154 -0
  290. playwright-browserstack-1.56.1/tests/async/test_navigation.py +1122 -0
  291. playwright-browserstack-1.56.1/tests/async/test_network.py +922 -0
  292. playwright-browserstack-1.56.1/tests/async/test_page.py +1460 -0
  293. playwright-browserstack-1.56.1/tests/async/test_page_add_locator_handler.py +388 -0
  294. playwright-browserstack-1.56.1/tests/async/test_page_aria_snapshot.py +216 -0
  295. playwright-browserstack-1.56.1/tests/async/test_page_base_url.py +118 -0
  296. playwright-browserstack-1.56.1/tests/async/test_page_clock.py +487 -0
  297. playwright-browserstack-1.56.1/tests/async/test_page_evaluate.py +355 -0
  298. playwright-browserstack-1.56.1/tests/async/test_page_event_console.py +35 -0
  299. playwright-browserstack-1.56.1/tests/async/test_page_event_pageerror.py +36 -0
  300. playwright-browserstack-1.56.1/tests/async/test_page_event_request.py +62 -0
  301. playwright-browserstack-1.56.1/tests/async/test_page_network_request.py +63 -0
  302. playwright-browserstack-1.56.1/tests/async/test_page_network_response.py +72 -0
  303. playwright-browserstack-1.56.1/tests/async/test_page_request_fallback.py +368 -0
  304. playwright-browserstack-1.56.1/tests/async/test_page_request_gc.py +34 -0
  305. playwright-browserstack-1.56.1/tests/async/test_page_request_intercept.py +101 -0
  306. playwright-browserstack-1.56.1/tests/async/test_page_route.py +1234 -0
  307. playwright-browserstack-1.56.1/tests/async/test_page_select_option.py +273 -0
  308. playwright-browserstack-1.56.1/tests/async/test_pdf.py +47 -0
  309. playwright-browserstack-1.56.1/tests/async/test_popup.py +474 -0
  310. playwright-browserstack-1.56.1/tests/async/test_proxy.py +160 -0
  311. playwright-browserstack-1.56.1/tests/async/test_queryselector.py +410 -0
  312. playwright-browserstack-1.56.1/tests/async/test_request_continue.py +196 -0
  313. playwright-browserstack-1.56.1/tests/async/test_request_fulfill.py +75 -0
  314. playwright-browserstack-1.56.1/tests/async/test_request_intercept.py +191 -0
  315. playwright-browserstack-1.56.1/tests/async/test_resource_timing.py +103 -0
  316. playwright-browserstack-1.56.1/tests/async/test_route_web_socket.py +381 -0
  317. playwright-browserstack-1.56.1/tests/async/test_screenshot.py +79 -0
  318. playwright-browserstack-1.56.1/tests/async/test_selector_generator.py +50 -0
  319. playwright-browserstack-1.56.1/tests/async/test_selectors_get_by.py +218 -0
  320. playwright-browserstack-1.56.1/tests/async/test_selectors_misc.py +82 -0
  321. playwright-browserstack-1.56.1/tests/async/test_selectors_text.py +283 -0
  322. playwright-browserstack-1.56.1/tests/async/test_tap.py +237 -0
  323. playwright-browserstack-1.56.1/tests/async/test_tracing.py +389 -0
  324. playwright-browserstack-1.56.1/tests/async/test_unroute_behavior.py +509 -0
  325. playwright-browserstack-1.56.1/tests/async/test_video.py +86 -0
  326. playwright-browserstack-1.56.1/tests/async/test_wait_for_function.py +91 -0
  327. playwright-browserstack-1.56.1/tests/async/test_wait_for_url.py +136 -0
  328. playwright-browserstack-1.56.1/tests/async/test_websocket.py +195 -0
  329. playwright-browserstack-1.56.1/tests/async/test_worker.py +203 -0
  330. playwright-browserstack-1.56.1/tests/async/utils.py +79 -0
  331. playwright-browserstack-1.56.1/tests/common/__init__.py +0 -0
  332. playwright-browserstack-1.56.1/tests/common/test_collect_handles.py +0 -0
  333. playwright-browserstack-1.56.1/tests/common/test_events.py +32 -0
  334. playwright-browserstack-1.56.1/tests/common/test_signals.py +145 -0
  335. playwright-browserstack-1.56.1/tests/common/test_threads.py +36 -0
  336. playwright-browserstack-1.56.1/tests/conftest.py +287 -0
  337. playwright-browserstack-1.56.1/tests/golden-chromium/grid-cell-0.png +0 -0
  338. playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-element-handle.png +0 -0
  339. playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-locator.png +0 -0
  340. playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-page.png +0 -0
  341. playwright-browserstack-1.56.1/tests/golden-chromium/mock-binary-response.png +0 -0
  342. playwright-browserstack-1.56.1/tests/golden-chromium/mock-svg.png +0 -0
  343. playwright-browserstack-1.56.1/tests/golden-chromium/screenshot-element-bounding-box.png +0 -0
  344. playwright-browserstack-1.56.1/tests/golden-chromium/screenshot-sanity.png +0 -0
  345. playwright-browserstack-1.56.1/tests/golden-firefox/grid-cell-0.png +0 -0
  346. playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-element-handle.png +0 -0
  347. playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-locator.png +0 -0
  348. playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-page.png +0 -0
  349. playwright-browserstack-1.56.1/tests/golden-firefox/mock-binary-response.png +0 -0
  350. playwright-browserstack-1.56.1/tests/golden-firefox/mock-svg.png +0 -0
  351. playwright-browserstack-1.56.1/tests/golden-firefox/screenshot-element-bounding-box.png +0 -0
  352. playwright-browserstack-1.56.1/tests/golden-firefox/screenshot-sanity.png +0 -0
  353. playwright-browserstack-1.56.1/tests/golden-webkit/grid-cell-0.png +0 -0
  354. playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-element-handle.png +0 -0
  355. playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-locator.png +0 -0
  356. playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-page.png +0 -0
  357. playwright-browserstack-1.56.1/tests/golden-webkit/mock-binary-response.png +0 -0
  358. playwright-browserstack-1.56.1/tests/golden-webkit/mock-svg.png +0 -0
  359. playwright-browserstack-1.56.1/tests/golden-webkit/screenshot-element-bounding-box.png +0 -0
  360. playwright-browserstack-1.56.1/tests/golden-webkit/screenshot-sanity.png +0 -0
  361. playwright-browserstack-1.56.1/tests/server.py +385 -0
  362. playwright-browserstack-1.56.1/tests/sync/__init__.py +0 -0
  363. playwright-browserstack-1.56.1/tests/sync/conftest.py +197 -0
  364. playwright-browserstack-1.56.1/tests/sync/test_accessibility.py +393 -0
  365. playwright-browserstack-1.56.1/tests/sync/test_add_init_script.py +87 -0
  366. playwright-browserstack-1.56.1/tests/sync/test_assertions.py +1069 -0
  367. playwright-browserstack-1.56.1/tests/sync/test_browser.py +21 -0
  368. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_client_certificates.py +258 -0
  369. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_events.py +210 -0
  370. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_request_fallback.py +359 -0
  371. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_request_intercept.py +136 -0
  372. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_service_worker_policy.py +37 -0
  373. playwright-browserstack-1.56.1/tests/sync/test_browsercontext_storage_state.py +174 -0
  374. playwright-browserstack-1.56.1/tests/sync/test_browsertype_connect.py +251 -0
  375. playwright-browserstack-1.56.1/tests/sync/test_browsertype_connect_cdp.py +35 -0
  376. playwright-browserstack-1.56.1/tests/sync/test_cdp_session.py +80 -0
  377. playwright-browserstack-1.56.1/tests/sync/test_check.py +85 -0
  378. playwright-browserstack-1.56.1/tests/sync/test_console.py +156 -0
  379. playwright-browserstack-1.56.1/tests/sync/test_context_manager.py +36 -0
  380. playwright-browserstack-1.56.1/tests/sync/test_element_handle.py +671 -0
  381. playwright-browserstack-1.56.1/tests/sync/test_element_handle_wait_for_element_state.py +119 -0
  382. playwright-browserstack-1.56.1/tests/sync/test_expect_misc.py +72 -0
  383. playwright-browserstack-1.56.1/tests/sync/test_extension.py +101 -0
  384. playwright-browserstack-1.56.1/tests/sync/test_fetch_browser_context.py +267 -0
  385. playwright-browserstack-1.56.1/tests/sync/test_fetch_global.py +390 -0
  386. playwright-browserstack-1.56.1/tests/sync/test_fill.py +28 -0
  387. playwright-browserstack-1.56.1/tests/sync/test_har.py +636 -0
  388. playwright-browserstack-1.56.1/tests/sync/test_input.py +47 -0
  389. playwright-browserstack-1.56.1/tests/sync/test_launcher.py +90 -0
  390. playwright-browserstack-1.56.1/tests/sync/test_listeners.py +33 -0
  391. playwright-browserstack-1.56.1/tests/sync/test_locator_get_by.py +213 -0
  392. playwright-browserstack-1.56.1/tests/sync/test_locators.py +1008 -0
  393. playwright-browserstack-1.56.1/tests/sync/test_network.py +104 -0
  394. playwright-browserstack-1.56.1/tests/sync/test_page.py +124 -0
  395. playwright-browserstack-1.56.1/tests/sync/test_page_add_locator_handler.py +386 -0
  396. playwright-browserstack-1.56.1/tests/sync/test_page_aria_snapshot.py +216 -0
  397. playwright-browserstack-1.56.1/tests/sync/test_page_clock.py +470 -0
  398. playwright-browserstack-1.56.1/tests/sync/test_page_event_console.py +36 -0
  399. playwright-browserstack-1.56.1/tests/sync/test_page_event_pageerror.py +36 -0
  400. playwright-browserstack-1.56.1/tests/sync/test_page_event_request.py +54 -0
  401. playwright-browserstack-1.56.1/tests/sync/test_page_network_response.py +66 -0
  402. playwright-browserstack-1.56.1/tests/sync/test_page_request_fallback.py +349 -0
  403. playwright-browserstack-1.56.1/tests/sync/test_page_request_gc.py +34 -0
  404. playwright-browserstack-1.56.1/tests/sync/test_page_request_intercept.py +54 -0
  405. playwright-browserstack-1.56.1/tests/sync/test_page_select_option.py +255 -0
  406. playwright-browserstack-1.56.1/tests/sync/test_pdf.py +33 -0
  407. playwright-browserstack-1.56.1/tests/sync/test_queryselector.py +378 -0
  408. playwright-browserstack-1.56.1/tests/sync/test_request_fulfill.py +73 -0
  409. playwright-browserstack-1.56.1/tests/sync/test_request_intercept.py +147 -0
  410. playwright-browserstack-1.56.1/tests/sync/test_resource_timing.py +107 -0
  411. playwright-browserstack-1.56.1/tests/sync/test_route_web_socket.py +374 -0
  412. playwright-browserstack-1.56.1/tests/sync/test_selectors_misc.py +54 -0
  413. playwright-browserstack-1.56.1/tests/sync/test_sync.py +360 -0
  414. playwright-browserstack-1.56.1/tests/sync/test_tap.py +113 -0
  415. playwright-browserstack-1.56.1/tests/sync/test_tracing.py +390 -0
  416. playwright-browserstack-1.56.1/tests/sync/test_unroute_behavior.py +46 -0
  417. playwright-browserstack-1.56.1/tests/sync/test_video.py +115 -0
  418. playwright-browserstack-1.56.1/tests/sync/utils.py +74 -0
  419. playwright-browserstack-1.56.1/tests/test_android.py +489 -0
  420. playwright-browserstack-1.56.1/tests/test_installation.py +53 -0
  421. playwright-browserstack-1.56.1/tests/test_reference_count_async.py +134 -0
  422. playwright-browserstack-1.56.1/tests/testserver/cert.pem +28 -0
  423. playwright-browserstack-1.56.1/tests/testserver/key.pem +52 -0
  424. playwright-browserstack-1.56.1/tests/utils.py +35 -0
  425. playwright-browserstack-1.56.1/utils/docker/.gitignore +1 -0
  426. playwright-browserstack-1.56.1/utils/docker/Dockerfile.jammy +61 -0
  427. playwright-browserstack-1.56.1/utils/docker/Dockerfile.noble +55 -0
  428. playwright-browserstack-1.56.1/utils/docker/build.sh +43 -0
  429. playwright-browserstack-1.56.1/utils/docker/publish_docker.sh +124 -0
  430. playwright-browserstack-1.56.1/utils/linting/check_file_header.py +70 -0
@@ -0,0 +1,105 @@
1
+ {
2
+ "hydrated": false,
3
+ "properties": {
4
+ "helpUri": "https://eng.ms/docs/microsoft-security/security/azure-security/cloudai-security-fundamentals-engineering/security-integration/guardian-wiki/microsoft-guardian/general/suppressions",
5
+ "hydrationStatus": "This file does not contain identifying data. It is safe to check into your repo. To hydrate this file with identifying data, run `guardian hydrate --help` and follow the guidance."
6
+ },
7
+ "version": "1.0.0",
8
+ "suppressionSets": {
9
+ "default": {
10
+ "name": "default",
11
+ "createdDate": "2024-02-06 21:00:02Z",
12
+ "lastUpdatedDate": "2024-02-06 21:00:02Z"
13
+ }
14
+ },
15
+ "results": {
16
+ "bffa73d7410f5963f2538f06124ac5524c076da77867a0a19ccf60e508062dff": {
17
+ "signature": "bffa73d7410f5963f2538f06124ac5524c076da77867a0a19ccf60e508062dff",
18
+ "alternativeSignatures": [],
19
+ "memberOf": [
20
+ "default"
21
+ ],
22
+ "createdDate": "2024-02-06 21:00:02Z"
23
+ },
24
+ "964642e3cd0f022d5b63f5d3c467d034df4b1664e58dd132b6cd54c98bdae6a1": {
25
+ "signature": "964642e3cd0f022d5b63f5d3c467d034df4b1664e58dd132b6cd54c98bdae6a1",
26
+ "alternativeSignatures": [
27
+ "f2d5560538c833834ca11e62fa6509618ab5454e1e71faf2847cb6fd07f4c4e0"
28
+ ],
29
+ "memberOf": [
30
+ "default"
31
+ ],
32
+ "createdDate": "2024-02-06 21:00:02Z"
33
+ },
34
+ "5b0f97262e176cd67207fd63a2c74b9984829286e9229d10efc32d6b73130e37": {
35
+ "signature": "5b0f97262e176cd67207fd63a2c74b9984829286e9229d10efc32d6b73130e37",
36
+ "alternativeSignatures": [
37
+ "29a18985690880b8caeebc339c7d2afd107510838cdc6561c1f5493478712581"
38
+ ],
39
+ "memberOf": [
40
+ "default"
41
+ ],
42
+ "createdDate": "2024-02-06 21:00:02Z"
43
+ },
44
+ "636fe8a4848f24231e94dc13a238022f90a2894cd47a483e351e467eeb98de52": {
45
+ "signature": "636fe8a4848f24231e94dc13a238022f90a2894cd47a483e351e467eeb98de52",
46
+ "alternativeSignatures": [
47
+ "e20632aa7941af4239fd857f802e05582c841fb9ae84e17c71ca6c7fc713246b"
48
+ ],
49
+ "memberOf": [
50
+ "default"
51
+ ],
52
+ "createdDate": "2024-02-06 21:00:02Z"
53
+ },
54
+ "67ae7118600b0793ec3f0a58a753888e13ce4badcc15575614ee6aa622e5009c": {
55
+ "signature": "67ae7118600b0793ec3f0a58a753888e13ce4badcc15575614ee6aa622e5009c",
56
+ "alternativeSignatures": [
57
+ "d1e68c2c7d9815f47331dd34c31db2634804b45b078a53d00843082747155ac9"
58
+ ],
59
+ "memberOf": [
60
+ "default"
61
+ ],
62
+ "createdDate": "2024-02-06 21:00:02Z"
63
+ },
64
+ "9b7d0de03b9e0e0b2711e31df7c804528c357bf5aa2d689fb5a5f42750e84077": {
65
+ "signature": "9b7d0de03b9e0e0b2711e31df7c804528c357bf5aa2d689fb5a5f42750e84077",
66
+ "alternativeSignatures": [
67
+ "e42bf5a49be2b1b815d1fde98ebf9d463fd2e70be1e8ca661f1210ce5b0c4953"
68
+ ],
69
+ "memberOf": [
70
+ "default"
71
+ ],
72
+ "createdDate": "2024-02-06 21:00:02Z"
73
+ },
74
+ "06ecbceae8bfd10acf8c35f21af3926d172c7930f24a204cc58b61efc6c4c770": {
75
+ "signature": "06ecbceae8bfd10acf8c35f21af3926d172c7930f24a204cc58b61efc6c4c770",
76
+ "alternativeSignatures": [
77
+ "035d6eb1444a809987923a39793fbb1ab9e4462405f38f94bc425c579705a9f2"
78
+ ],
79
+ "memberOf": [
80
+ "default"
81
+ ],
82
+ "createdDate": "2024-02-06 21:00:02Z"
83
+ },
84
+ "c103671af429c32de81f2dc2e7a92999de88a517d916a8f75c8e37448bb2efe9": {
85
+ "signature": "c103671af429c32de81f2dc2e7a92999de88a517d916a8f75c8e37448bb2efe9",
86
+ "alternativeSignatures": [
87
+ "3f904a503c12b62c2922900a2e689632e06272a815448939b1fdd435bcf74388"
88
+ ],
89
+ "memberOf": [
90
+ "default"
91
+ ],
92
+ "createdDate": "2024-02-06 21:00:02Z"
93
+ },
94
+ "d1196285a4e64cf6f0f7f22a29bf5b33b540137da1a89ed2af0c880d2a8c1d64": {
95
+ "signature": "d1196285a4e64cf6f0f7f22a29bf5b33b540137da1a89ed2af0c880d2a8c1d64",
96
+ "alternativeSignatures": [
97
+ "1c24094ca9e68a76a81c747853860e46fd139c9f47f0fdbad9133538e7d064b2"
98
+ ],
99
+ "memberOf": [
100
+ "default"
101
+ ],
102
+ "createdDate": "2024-02-06 21:00:02Z"
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,82 @@
1
+ pr: none
2
+
3
+ trigger:
4
+ tags:
5
+ include:
6
+ - '*'
7
+
8
+ resources:
9
+ repositories:
10
+ - repository: 1esPipelines
11
+ type: git
12
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
13
+ ref: refs/tags/release
14
+
15
+ extends:
16
+ template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
17
+ parameters:
18
+ pool:
19
+ name: DevDivPlaywrightAzurePipelinesUbuntu2204
20
+ os: linux
21
+ sdl:
22
+ sourceAnalysisPool:
23
+ name: DevDivPlaywrightAzurePipelinesWindows2022
24
+ # The image must be windows-based due to restrictions of the SDL tools. See: https://aka.ms/AAo6v8e
25
+ # In the case of a windows build, this can be the same as the above pool image.
26
+ os: windows
27
+ suppression:
28
+ suppressionFile: $(Build.SourcesDirectory)\.azure-pipelines\guardian\SDL\.gdnsuppress
29
+ stages:
30
+ - stage: Stage
31
+ jobs:
32
+ - job: Build
33
+ templateContext:
34
+ outputs:
35
+ - output: pipelineArtifact
36
+ path: $(Build.ArtifactStagingDirectory)/esrp-build
37
+ artifact: esrp-build
38
+ steps:
39
+ - task: UsePythonVersion@0
40
+ inputs:
41
+ versionSpec: '3.9'
42
+ displayName: 'Use Python'
43
+ - script: |
44
+ python -m pip install --upgrade pip
45
+ pip install -r local-requirements.txt
46
+ pip install -r requirements.txt
47
+ pip install -e .
48
+ for wheel in $(python setup.py --list-wheels); do
49
+ PLAYWRIGHT_TARGET_WHEEL=$wheel python -m build --wheel --outdir $(Build.ArtifactStagingDirectory)/esrp-build
50
+ done
51
+ displayName: 'Install & Build'
52
+ - job: Publish
53
+ dependsOn: Build
54
+ templateContext:
55
+ type: releaseJob
56
+ isProduction: true
57
+ inputs:
58
+ - input: pipelineArtifact
59
+ artifactName: esrp-build
60
+ targetPath: $(Build.ArtifactStagingDirectory)/esrp-build
61
+ steps:
62
+ - checkout: none
63
+ - task: EsrpRelease@9
64
+ inputs:
65
+ connectedservicename: 'Playwright-ESRP-PME'
66
+ usemanagedidentity: true
67
+ keyvaultname: 'playwright-esrp-pme'
68
+ signcertname: 'ESRP-Release-Sign'
69
+ clientid: '13434a40-7de4-4c23-81a3-d843dc81c2c5'
70
+ intent: 'PackageDistribution'
71
+ contenttype: 'PyPi'
72
+ # Keeping it commented out as a workaround for:
73
+ # https://portal.microsofticm.com/imp/v3/incidents/incident/499972482/summary
74
+ # contentsource: 'folder'
75
+ folderlocation: '$(Build.ArtifactStagingDirectory)/esrp-build'
76
+ waitforreleasecompletion: true
77
+ owners: 'yurys@microsoft.com'
78
+ approvers: 'yurys@microsoft.com'
79
+ serviceendpointurl: 'https://api.esrp.microsoft.com'
80
+ mainpublisher: 'Playwright'
81
+ domaintenantid: '975f013f-7f24-47e8-a7d3-abc4752bf346'
82
+ displayName: 'ESRP Release to PIP'
@@ -0,0 +1,2 @@
1
+ # text files must be lf for golden file tests to work
2
+ * text=auto eol=lf
@@ -0,0 +1,96 @@
1
+ name: Bug Report 🪲
2
+ description: Create a bug report to help us improve
3
+ title: '[Bug]: '
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ # Please follow these steps first:
9
+ - type: markdown
10
+ attributes:
11
+ value: |
12
+ ## Troubleshoot
13
+ If Playwright is not behaving the way you expect, we'd ask you to look at the [documentation](https://playwright.dev/python/docs/intro) and search the issue tracker for evidence supporting your expectation.
14
+ Please make reasonable efforts to troubleshoot and rule out issues with your code, the configuration, or any 3rd party libraries you might be using.
15
+ Playwright offers [several debugging tools](https://playwright.dev/python/docs/debug) that you can use to troubleshoot your issues.
16
+ - type: markdown
17
+ attributes:
18
+ value: |
19
+ ## Ask for help through appropriate channels
20
+ If you feel unsure about the cause of the problem, consider asking for help on for example [StackOverflow](https://stackoverflow.com/questions/ask) or our [Discord channel](https://aka.ms/playwright/discord) before posting a bug report. The issue tracker is not a help forum.
21
+ - type: markdown
22
+ attributes:
23
+ value: |
24
+ ## Make a minimal reproduction
25
+ To file the report, you will need a GitHub repository with a minimal (but complete) example and simple/clear steps on how to reproduce the bug.
26
+ The simpler you can make it, the more likely we are to successfully verify and fix the bug.
27
+ - type: markdown
28
+ attributes:
29
+ value: |
30
+ > [!IMPORTANT]
31
+ > Bug reports without a minimal reproduction will be rejected.
32
+
33
+ ---
34
+ - type: input
35
+ id: version
36
+ attributes:
37
+ label: Version
38
+ description: |
39
+ The version of Playwright you are using.
40
+ Is it the [latest](https://github.com/microsoft/playwright-python/releases)? Test and see if the bug has already been fixed.
41
+ placeholder: ex. 1.41.1
42
+ validations:
43
+ required: true
44
+ - type: textarea
45
+ id: reproduction
46
+ attributes:
47
+ label: Steps to reproduce
48
+ description: Please link to a repository with a minimal reproduction and describe accurately how we can reproduce/verify the bug.
49
+ value: |
50
+ Example steps (replace with your own):
51
+ 1. Clone my repo at https://github.com/<myuser>/example
52
+ 2. pip install -r requirements.txt
53
+ 3. python test.py
54
+ 4. You should see the error come up
55
+ validations:
56
+ required: true
57
+ - type: textarea
58
+ id: expected
59
+ attributes:
60
+ label: Expected behavior
61
+ description: A description of what you expect to happen.
62
+ placeholder: I expect to see X or Y
63
+ validations:
64
+ required: true
65
+ - type: textarea
66
+ id: what-happened
67
+ attributes:
68
+ label: Actual behavior
69
+ description: |
70
+ A clear and concise description of the unexpected behavior.
71
+ Please include any relevant output here, especially any error messages.
72
+ placeholder: A bug happened!
73
+ validations:
74
+ required: true
75
+ - type: textarea
76
+ id: context
77
+ attributes:
78
+ label: Additional context
79
+ description: Anything else that might be relevant
80
+ validations:
81
+ required: false
82
+ - type: textarea
83
+ id: envinfo
84
+ attributes:
85
+ label: Environment
86
+ description: |
87
+ Please provide information about the environment you are running in.
88
+ value: |
89
+ - Operating System: [Ubuntu 22.04]
90
+ - CPU: [arm64]
91
+ - Browser: [All, Chromium, Firefox, WebKit]
92
+ - Python Version: [3.12]
93
+ - Other info:
94
+ render: Text
95
+ validations:
96
+ required: true
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Join our Discord Server
4
+ url: https://aka.ms/playwright/discord
5
+ about: Ask questions and discuss with other community members
@@ -0,0 +1,29 @@
1
+ name: Documentation 📖
2
+ description: Submit a request to add or update documentation
3
+ title: '[Docs]: '
4
+ labels: ['Documentation :book:']
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ ### Thank you for helping us improve our documentation!
10
+ Please be sure you are looking at [the Next version of the documentation](https://playwright.dev/python/docs/next/intro) before opening an issue here.
11
+ - type: textarea
12
+ id: links
13
+ attributes:
14
+ label: Page(s)
15
+ description: |
16
+ Links to one or more documentation pages that should be modified.
17
+ If you are reporting an issue with a specific section of a page, try to link directly to the nearest anchor.
18
+ If you are suggesting that a new page be created, link to the parent of the proposed page.
19
+ validations:
20
+ required: true
21
+ - type: textarea
22
+ id: description
23
+ attributes:
24
+ label: Description
25
+ description: |
26
+ Describe the change you are requesting.
27
+ If the issue pertains to a single function or matcher, be sure to specify the entire call signature.
28
+ validations:
29
+ required: true
@@ -0,0 +1,30 @@
1
+ name: Feature Request 🚀
2
+ description: Submit a proposal for a new feature
3
+ title: '[Feature]: '
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ ### Thank you for taking the time to suggest a new feature!
9
+ - type: textarea
10
+ id: description
11
+ attributes:
12
+ label: '🚀 Feature Request'
13
+ description: A clear and concise description of what the feature is.
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: example
18
+ attributes:
19
+ label: Example
20
+ description: Describe how this feature would be used.
21
+ validations:
22
+ required: false
23
+ - type: textarea
24
+ id: motivation
25
+ attributes:
26
+ label: Motivation
27
+ description: |
28
+ Outline your motivation for the proposal. How will it make Playwright better?
29
+ validations:
30
+ required: true
@@ -0,0 +1,27 @@
1
+ name: 'Questions / Help 💬'
2
+ description: If you have questions, please check StackOverflow or Discord
3
+ title: '[Please read the message below]'
4
+ labels: [':speech_balloon: Question']
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ ## Questions and Help 💬
10
+
11
+ This issue tracker is reserved for bug reports and feature requests.
12
+
13
+ For anything else, such as questions or getting help, please see:
14
+
15
+ - [The Playwright documentation](https://playwright.dev)
16
+ - [Our Discord server](https://aka.ms/playwright/discord)
17
+ - type: checkboxes
18
+ id: no-post
19
+ attributes:
20
+ label: |
21
+ Please do not submit this issue.
22
+ description: |
23
+ > [!IMPORTANT]
24
+ > This issue will be closed.
25
+ options:
26
+ - label: I understand
27
+ required: true
@@ -0,0 +1,92 @@
1
+ name: Report regression
2
+ description: Functionality that used to work and does not any more
3
+ title: "[Regression]: "
4
+
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ # Please follow these steps first:
10
+ - type: markdown
11
+ attributes:
12
+ value: |
13
+ ## Make a minimal reproduction
14
+ To file the report, you will need a GitHub repository with a minimal (but complete) example and simple/clear steps on how to reproduce the regression.
15
+ The simpler you can make it, the more likely we are to successfully verify and fix the regression.
16
+ - type: markdown
17
+ attributes:
18
+ value: |
19
+ > [!IMPORTANT]
20
+ > Regression reports without a minimal reproduction will be rejected.
21
+
22
+ ---
23
+ - type: input
24
+ id: goodVersion
25
+ attributes:
26
+ label: Last Good Version
27
+ description: |
28
+ Last version of Playwright where the feature was working.
29
+ placeholder: ex. 1.40.1
30
+ validations:
31
+ required: true
32
+ - type: input
33
+ id: badVersion
34
+ attributes:
35
+ label: First Bad Version
36
+ description: |
37
+ First version of Playwright where the feature was broken.
38
+ Is it the [latest](https://github.com/microsoft/playwright-python/releases)? Test and see if the regression has already been fixed.
39
+ placeholder: ex. 1.41.1
40
+ validations:
41
+ required: true
42
+ - type: textarea
43
+ id: reproduction
44
+ attributes:
45
+ label: Steps to reproduce
46
+ description: Please link to a repository with a minimal reproduction and describe accurately how we can reproduce/verify the bug.
47
+ value: |
48
+ Example steps (replace with your own):
49
+ 1. Clone my repo at https://github.com/<myuser>/example
50
+ 2. pip -r requirements.txt
51
+ 3. python test.py
52
+ 4. You should see the error come up
53
+ validations:
54
+ required: true
55
+ - type: textarea
56
+ id: expected
57
+ attributes:
58
+ label: Expected behavior
59
+ description: A description of what you expect to happen.
60
+ placeholder: I expect to see X or Y
61
+ validations:
62
+ required: true
63
+ - type: textarea
64
+ id: what-happened
65
+ attributes:
66
+ label: Actual behavior
67
+ description: A clear and concise description of the unexpected behavior.
68
+ placeholder: A bug happened!
69
+ validations:
70
+ required: true
71
+ - type: textarea
72
+ id: context
73
+ attributes:
74
+ label: Additional context
75
+ description: Anything else that might be relevant
76
+ validations:
77
+ required: false
78
+ - type: textarea
79
+ id: envinfo
80
+ attributes:
81
+ label: Environment
82
+ description: |
83
+ Please provide information about the environment you are running in.
84
+ value: |
85
+ - Operating System: [Ubuntu 22.04]
86
+ - CPU: [arm64]
87
+ - Browser: [All, Chromium, Firefox, WebKit]
88
+ - Python Version: [3.12]
89
+ - Other info:
90
+ render: Text
91
+ validations:
92
+ required: true
@@ -0,0 +1,14 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
11
+ groups:
12
+ actions:
13
+ patterns:
14
+ - "*"
@@ -0,0 +1,197 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - release-*
8
+ pull_request:
9
+ branches:
10
+ - main
11
+ - release-*
12
+
13
+ concurrency:
14
+ # For pull requests, cancel all currently-running jobs for this workflow
15
+ # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
16
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
17
+ cancel-in-progress: true
18
+
19
+ jobs:
20
+ infra:
21
+ name: Lint
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v5
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v6
27
+ with:
28
+ python-version: "3.10"
29
+ - name: Install dependencies & browsers
30
+ run: |
31
+ python -m pip install --upgrade pip
32
+ pip install -r local-requirements.txt
33
+ pip install -r requirements.txt
34
+ pip install -e .
35
+ python -m build --wheel
36
+ python -m playwright install --with-deps
37
+ - name: Lint
38
+ run: pre-commit run --show-diff-on-failure --color=always --all-files
39
+ - name: Generate APIs
40
+ run: bash scripts/update_api.sh
41
+ - name: Verify generated API is up to date
42
+ run: git diff --exit-code
43
+
44
+ build:
45
+ name: Build
46
+ timeout-minutes: 45
47
+ strategy:
48
+ fail-fast: false
49
+ matrix:
50
+ os: [ubuntu-latest, windows-latest, macos-latest]
51
+ python-version: ['3.9', '3.10']
52
+ browser: [chromium, firefox, webkit]
53
+ include:
54
+ - os: windows-latest
55
+ python-version: '3.11'
56
+ browser: chromium
57
+ - os: macos-latest
58
+ python-version: '3.11'
59
+ browser: chromium
60
+ - os: ubuntu-latest
61
+ python-version: '3.11'
62
+ browser: chromium
63
+ - os: windows-latest
64
+ python-version: '3.12'
65
+ browser: chromium
66
+ - os: macos-latest
67
+ python-version: '3.12'
68
+ browser: chromium
69
+ - os: ubuntu-latest
70
+ python-version: '3.12'
71
+ browser: chromium
72
+ - os: windows-latest
73
+ python-version: '3.13'
74
+ browser: chromium
75
+ - os: macos-latest
76
+ python-version: '3.13'
77
+ browser: chromium
78
+ - os: ubuntu-latest
79
+ python-version: '3.13'
80
+ browser: chromium
81
+ runs-on: ${{ matrix.os }}
82
+ steps:
83
+ - uses: actions/checkout@v5
84
+ - name: Set up Python
85
+ uses: actions/setup-python@v6
86
+ with:
87
+ python-version: ${{ matrix.python-version }}
88
+ - name: Install dependencies & browsers
89
+ run: |
90
+ python -m pip install --upgrade pip
91
+ pip install -r local-requirements.txt
92
+ pip install -r requirements.txt
93
+ pip install -e .
94
+ python -m build --wheel
95
+ python -m playwright install --with-deps ${{ matrix.browser }}
96
+ - name: Common Tests
97
+ run: pytest tests/common --browser=${{ matrix.browser }} --timeout 90
98
+ - name: Test Reference count
99
+ run: pytest tests/test_reference_count_async.py --browser=${{ matrix.browser }}
100
+ - name: Test Wheel Installation
101
+ run: pytest tests/test_installation.py --browser=${{ matrix.browser }}
102
+ - name: Test Sync API
103
+ if: matrix.os != 'ubuntu-latest'
104
+ run: pytest tests/sync --browser=${{ matrix.browser }} --timeout 90
105
+ - name: Test Sync API
106
+ if: matrix.os == 'ubuntu-latest'
107
+ run: xvfb-run pytest tests/sync --browser=${{ matrix.browser }} --timeout 90
108
+ - name: Test Async API
109
+ if: matrix.os != 'ubuntu-latest'
110
+ run: pytest tests/async --browser=${{ matrix.browser }} --timeout 90
111
+ - name: Test Async API
112
+ if: matrix.os == 'ubuntu-latest'
113
+ run: xvfb-run pytest tests/async --browser=${{ matrix.browser }} --timeout 90
114
+
115
+ test-stable:
116
+ name: Stable
117
+ timeout-minutes: 45
118
+ strategy:
119
+ fail-fast: false
120
+ matrix:
121
+ os: [ubuntu-latest, windows-latest, macos-latest]
122
+ browser-channel: [chrome]
123
+ include:
124
+ - os: windows-latest
125
+ browser-channel: msedge
126
+ - os: macos-latest
127
+ browser-channel: msedge
128
+ runs-on: ${{ matrix.os }}
129
+ steps:
130
+ - uses: actions/checkout@v5
131
+ - name: Set up Python
132
+ uses: actions/setup-python@v6
133
+ with:
134
+ python-version: "3.10"
135
+ - name: Install dependencies & browsers
136
+ run: |
137
+ python -m pip install --upgrade pip
138
+ pip install -r local-requirements.txt
139
+ pip install -r requirements.txt
140
+ pip install -e .
141
+ python -m build --wheel
142
+ python -m playwright install ${{ matrix.browser-channel }} --with-deps
143
+ - name: Common Tests
144
+ run: pytest tests/common --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
145
+ - name: Test Sync API
146
+ if: matrix.os != 'ubuntu-latest'
147
+ run: pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
148
+ - name: Test Sync API
149
+ if: matrix.os == 'ubuntu-latest'
150
+ run: xvfb-run pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
151
+ - name: Test Async API
152
+ if: matrix.os != 'ubuntu-latest'
153
+ run: pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
154
+ - name: Test Async API
155
+ if: matrix.os == 'ubuntu-latest'
156
+ run: xvfb-run pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
157
+
158
+ build-conda:
159
+ name: Conda Build
160
+ strategy:
161
+ fail-fast: false
162
+ matrix:
163
+ os: [ubuntu-22.04, macos-13, windows-2022]
164
+ runs-on: ${{ matrix.os }}
165
+ steps:
166
+ - uses: actions/checkout@v5
167
+ with:
168
+ fetch-depth: 0
169
+ - name: Get conda
170
+ uses: conda-incubator/setup-miniconda@v3
171
+ with:
172
+ python-version: 3.9
173
+ channels: conda-forge
174
+ miniconda-version: latest
175
+ - name: Prepare
176
+ run: conda install conda-build conda-verify
177
+ - name: Build
178
+ run: conda build .
179
+
180
+ test_examples:
181
+ name: Examples
182
+ runs-on: ubuntu-22.04
183
+ defaults:
184
+ run:
185
+ working-directory: examples/todomvc/
186
+ steps:
187
+ - uses: actions/checkout@v5
188
+ - name: Set up Python
189
+ uses: actions/setup-python@v6
190
+ with:
191
+ python-version: '3.10'
192
+ - name: Install dependencies & browsers
193
+ run: |
194
+ pip install -r requirements.txt
195
+ python -m playwright install --with-deps chromium
196
+ - name: Common Tests
197
+ run: pytest