├── .DS_Store ├── .gitignore ├── .pylintrc ├── Dockerfile ├── Jenkinsfile ├── Pipfile ├── README.md ├── archive ├── output_1631684613.0331872.json ├── output_1631684613.033222.json ├── output_1631684613.033386.json ├── output_1631685305.1010208.json ├── output_1631685305.101429.json ├── output_1631685305.10161.json ├── output_1631686671.815422.json ├── output_1631686970.8319411.json ├── output_1631687003.152371.json ├── output_1631687512.1726458.json ├── output_1631691361.690908.json ├── output_1631691361.690985.json ├── output_1631691361.691013.json ├── output_1631694054.414169.json ├── output_1631694054.4157288.json ├── output_1631694331.898747.json ├── output_1631694331.8988008.json ├── output_1631694331.899282.json ├── output_1631719839.162663.json ├── output_1631719839.1626801.json ├── output_1631719839.162849.json ├── output_1631858505.386183.json ├── output_1631859030.796597.json ├── output_1631860989.348107.json ├── output_1631861002.480247.json ├── output_1631861017.523707.json ├── output_1631861072.207219.json ├── output_1631866437.480553.json ├── output_1631866943.452018.json ├── output_1631867137.823338.json ├── output_1631867347.381736.json ├── output_1631868474.922646.json ├── output_1631870817.734585.json ├── output_1631872593.242464.json ├── output_1631872625.515954.json ├── output_1631927336.679308.json ├── output_1631931148.757182.json ├── output_1631931148.757673.json ├── output_1631931577.9002712.json ├── output_1631931577.90083.json ├── output_1631931700.58674.json ├── output_1631931700.586774.json ├── output_1631933199.198808.json ├── output_1631933199.198812.json ├── output_1631935445.6809332.json ├── output_1631944349.88116.json ├── output_1631944349.8898501.json ├── output_1631944525.884151.json ├── output_1631944802.253289.json ├── output_1631944802.260622.json ├── output_1631951374.761315.json ├── output_1631951374.761316.json ├── output_1631951906.530692.json ├── output_1631951906.534719.json ├── output_1631951906.539228.json ├── output_1631952774.0888588.json ├── output_1631953632.116839.json ├── output_1631953973.684753.json ├── output_1631954260.832191.json ├── output_1631954260.8322518.json ├── output_1631954335.450422.json ├── output_1631954335.450528.json ├── output_1631954575.5265532.json ├── output_1631954659.618328.json ├── output_1631954838.294987.json ├── output_1631954950.747736.json ├── output_1631955000.494401.json ├── output_1631956379.8946939.json ├── output_1631956923.251051.json ├── output_1631956923.2512379.json ├── output_1631956992.394409.json ├── output_1632279545.939059.json ├── output_1632279637.973008.json ├── output_1632279767.665683.json ├── output_1632279919.129299.json ├── output_1632280068.668581.json ├── output_1632280192.0775082.json ├── output_1632283632.588773.json ├── output_1632283700.5085518.json ├── output_1632283805.4610372.json ├── output_1632288900.022491.json ├── output_1632289066.946003.json ├── output_1632290292.319364.json ├── output_1632290346.0985548.json ├── output_1632290653.262721.json ├── output_1632291068.681983.json └── output_1632292936.4832299.json ├── bdd-report ├── assets │ ├── css │ │ ├── bootstrap.min.css │ │ ├── dataTables.bootstrap.min.css │ │ ├── font-awesome.min.css │ │ └── responsive.dataTables.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── Chart.min.js │ │ ├── bootstrap.min.js │ │ ├── dataTables.bootstrap.min.js │ │ ├── dataTables.responsive.min.js │ │ ├── html5shiv.min.js │ │ ├── jquery-3.2.1.min.js │ │ ├── jquery.dataTables.min.js │ │ └── respond.min.js ├── cucumber-report.json ├── cucumber_report.html ├── features │ ├── 65e7be42-6f77-4621-9cbf-597544f72d28--users-yunan-downloads-pytest-ui-automatic-tests-features-shop-shop_order_t_shirt-feature.html │ ├── 8a5bb7f4-6315-4fe5-8cf4-963a4b763d8a--users-yunan-downloads-pytest-ui-automatic-tests-features-shop-shop_order_t_shirt-feature.html │ ├── a6c87cc3-14a9-4995-995f-d18a04e4ac89--users-yunan-downloads-pytest-ui-automatic-tests-features-shop-shop_order_t_shirt-feature.html │ ├── e97cfe86-f1d4-4a45-8c1d-7b6f78995219--users-yunan-downloads-pytest-ui-automatic-tests-features-shop-shop_order_t_shirt-feature.html │ └── faa50c70-6af3-41b6-84e2-e3e5be602f6d--users-yunan-downloads-pytest-ui-automatic-tests-features-shop-shop_order_t_shirt-feature.html ├── generate-html-report.js ├── generate-multiple-cucumber-html-report.js └── index.html ├── conftest.py ├── cucumber-report-1.png ├── cucumber-report-2.png ├── docker-compose.yml ├── environment.properties ├── execute_tests.sh ├── execute_tests_bdd.sh ├── execute_tests_pipfile.sh ├── info.json ├── output.json ├── page_objects ├── __init__.py ├── base_page.py ├── registation │ ├── __init__.py │ ├── registration_locators.py │ └── registration_object.py └── shop │ ├── __init__.py │ ├── shop_locators.py │ └── shop_object.py ├── pylenium.json ├── pytest.ini ├── pytest_html_report.html ├── requirements.txt ├── screen_play ├── __init__.py ├── questions │ ├── __init__.py │ ├── number_of_search_results.py │ └── search_results_message.py ├── tasks │ ├── __init__.py │ ├── docs_page │ │ ├── __init__.py │ │ └── start.py │ └── github_page │ │ ├── __init__.py │ │ └── search_github.py └── ui │ ├── __init__.py │ ├── docs_page │ ├── __init__.py │ ├── abilities_page.py │ ├── actions_page.py │ ├── actors_page.py │ ├── docs_page.py │ ├── questions_page.py │ ├── resolutions_page.py │ └── targets_page.py │ ├── github_page │ ├── __init__.py │ ├── github_header_bar.py │ ├── github_home_page.py │ └── github_search_result_page.py │ └── home_page.py ├── tests ├── __init__.py ├── conftest.py ├── features │ └── shop │ │ └── shop_order_t_shirt.feature ├── step_definition │ ├── __init__.py │ └── shop │ │ ├── __init__.py │ │ └── test_shop.py ├── test_docs_page.py ├── test_github_search.py ├── test_login_page.py └── test_shop.py ├── utils ├── Log.py ├── __init__.py ├── api_helper │ ├── __init__.py │ ├── api_abilities.py │ └── api_helper.py ├── bdd_helper.py ├── constant.py └── property.py └── venv ├── bin ├── Activate.ps1 ├── activate ├── activate.csh ├── activate.fish ├── easy_install ├── easy_install-3.8 ├── epylint ├── isort ├── pip ├── pip3 ├── pip3.8 ├── py.test ├── pylint ├── pylint-fail-under ├── pyreverse ├── pytest ├── python ├── python3 ├── python3.8 └── symilar ├── include └── site │ └── python3.8 │ └── greenlet │ └── greenlet.h ├── lib └── python3.8 │ └── site-packages │ ├── _distutils_hack │ ├── __init__.py │ └── override.py │ ├── _pytest │ ├── __init__.py │ ├── _argcomplete.py │ ├── _code │ │ ├── __init__.py │ │ ├── code.py │ │ └── source.py │ ├── _io │ │ ├── __init__.py │ │ ├── saferepr.py │ │ ├── terminalwriter.py │ │ └── wcwidth.py │ ├── _version.py │ ├── assertion │ │ ├── __init__.py │ │ ├── rewrite.py │ │ ├── truncate.py │ │ └── util.py │ ├── cacheprovider.py │ ├── capture.py │ ├── compat.py │ ├── config │ │ ├── __init__.py │ │ ├── argparsing.py │ │ ├── exceptions.py │ │ └── findpaths.py │ ├── debugging.py │ ├── deprecated.py │ ├── doctest.py │ ├── faulthandler.py │ ├── fixtures.py │ ├── freeze_support.py │ ├── helpconfig.py │ ├── hookspec.py │ ├── junitxml.py │ ├── logging.py │ ├── main.py │ ├── mark │ │ ├── __init__.py │ │ ├── expression.py │ │ └── structures.py │ ├── monkeypatch.py │ ├── nodes.py │ ├── nose.py │ ├── outcomes.py │ ├── pastebin.py │ ├── pathlib.py │ ├── py.typed │ ├── pytester.py │ ├── pytester_assertions.py │ ├── python.py │ ├── python_api.py │ ├── recwarn.py │ ├── reports.py │ ├── runner.py │ ├── setuponly.py │ ├── setupplan.py │ ├── skipping.py │ ├── stepwise.py │ ├── store.py │ ├── terminal.py │ ├── threadexception.py │ ├── timing.py │ ├── tmpdir.py │ ├── unittest.py │ ├── unraisableexception.py │ ├── warning_types.py │ └── warnings.py │ ├── allure.py │ ├── allure_commons │ ├── __init__.py │ ├── _allure.py │ ├── _compat.py │ ├── _core.py │ ├── _hooks.py │ ├── lifecycle.py │ ├── logger.py │ ├── mapping.py │ ├── model2.py │ ├── reporter.py │ ├── types.py │ └── utils.py │ ├── allure_pytest-2.8.32.dist-info │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── allure_pytest │ ├── __init__.py │ ├── helper.py │ ├── listener.py │ ├── plugin.py │ └── utils.py │ ├── allure_python_commons-2.8.32.dist-info │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── apipkg-1.5.dist-info │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── apipkg │ ├── __init__.py │ └── version.py │ ├── astroid-2.4.2.dist-info │ ├── COPYING │ ├── COPYING.LESSER │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── astroid │ ├── __init__.py │ ├── __pkginfo__.py │ ├── _ast.py │ ├── arguments.py │ ├── as_string.py │ ├── bases.py │ ├── brain │ │ ├── brain_argparse.py │ │ ├── brain_attrs.py │ │ ├── brain_boto3.py │ │ ├── brain_builtin_inference.py │ │ ├── brain_collections.py │ │ ├── brain_crypt.py │ │ ├── brain_curses.py │ │ ├── brain_dataclasses.py │ │ ├── brain_dateutil.py │ │ ├── brain_fstrings.py │ │ ├── brain_functools.py │ │ ├── brain_gi.py │ │ ├── brain_hashlib.py │ │ ├── brain_http.py │ │ ├── brain_io.py │ │ ├── brain_mechanize.py │ │ ├── brain_multiprocessing.py │ │ ├── brain_namedtuple_enum.py │ │ ├── brain_nose.py │ │ ├── brain_numpy_core_fromnumeric.py │ │ ├── brain_numpy_core_function_base.py │ │ ├── brain_numpy_core_multiarray.py │ │ ├── brain_numpy_core_numeric.py │ │ ├── brain_numpy_core_numerictypes.py │ │ ├── brain_numpy_core_umath.py │ │ ├── brain_numpy_ndarray.py │ │ ├── brain_numpy_random_mtrand.py │ │ ├── brain_numpy_utils.py │ │ ├── brain_pkg_resources.py │ │ ├── brain_pytest.py │ │ ├── brain_qt.py │ │ ├── brain_random.py │ │ ├── brain_re.py │ │ ├── brain_responses.py │ │ ├── brain_scipy_signal.py │ │ ├── brain_six.py │ │ ├── brain_ssl.py │ │ ├── brain_subprocess.py │ │ ├── brain_threading.py │ │ ├── brain_typing.py │ │ └── brain_uuid.py │ ├── builder.py │ ├── context.py │ ├── decorators.py │ ├── exceptions.py │ ├── helpers.py │ ├── inference.py │ ├── interpreter │ │ ├── __init__.py │ │ ├── _import │ │ │ ├── __init__.py │ │ │ ├── spec.py │ │ │ └── util.py │ │ ├── dunder_lookup.py │ │ └── objectmodel.py │ ├── manager.py │ ├── mixins.py │ ├── modutils.py │ ├── node_classes.py │ ├── nodes.py │ ├── objects.py │ ├── protocols.py │ ├── raw_building.py │ ├── rebuilder.py │ ├── scoped_nodes.py │ ├── test_utils.py │ ├── transforms.py │ └── util.py │ ├── attr │ ├── __init__.py │ ├── __init__.pyi │ ├── _compat.py │ ├── _config.py │ ├── _funcs.py │ ├── _make.py │ ├── _next_gen.py │ ├── _version_info.py │ ├── _version_info.pyi │ ├── converters.py │ ├── converters.pyi │ ├── exceptions.py │ ├── exceptions.pyi │ ├── filters.py │ ├── filters.pyi │ ├── py.typed │ ├── setters.py │ ├── setters.pyi │ ├── validators.py │ └── validators.pyi │ ├── attrs-20.3.0.dist-info │ ├── AUTHORS.rst │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── distutils-precedence.pth │ ├── easy_install.py │ ├── execnet-1.7.1.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── execnet │ ├── __init__.py │ ├── _version.py │ ├── deprecated.py │ ├── gateway.py │ ├── gateway_base.py │ ├── gateway_bootstrap.py │ ├── gateway_io.py │ ├── gateway_socket.py │ ├── multi.py │ ├── rsync.py │ ├── rsync_remote.py │ ├── script │ │ ├── __init__.py │ │ ├── loop_socketserver.py │ │ ├── quitserver.py │ │ ├── shell.py │ │ ├── socketserver.py │ │ ├── socketserverservice.py │ │ └── xx.py │ └── xspec.py │ ├── greenlet-1.0a1.dist-info │ ├── AUTHORS │ ├── INSTALLER │ ├── LICENSE │ ├── LICENSE.PSF │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── greenlet │ ├── __init__.py │ ├── _greenlet.cpython-38-darwin.so │ ├── greenlet.c │ ├── greenlet.h │ ├── platform │ │ ├── setup_switch_x64_masm.cmd │ │ ├── switch_aarch64_gcc.h │ │ ├── switch_alpha_unix.h │ │ ├── switch_amd64_unix.h │ │ ├── switch_arm32_gcc.h │ │ ├── switch_arm32_ios.h │ │ ├── switch_csky_gcc.h │ │ ├── switch_m68k_gcc.h │ │ ├── switch_mips_unix.h │ │ ├── switch_ppc64_aix.h │ │ ├── switch_ppc64_linux.h │ │ ├── switch_ppc_aix.h │ │ ├── switch_ppc_linux.h │ │ ├── switch_ppc_macosx.h │ │ ├── switch_ppc_unix.h │ │ ├── switch_riscv_unix.h │ │ ├── switch_s390_unix.h │ │ ├── switch_sparc_sun_gcc.h │ │ ├── switch_x32_unix.h │ │ ├── switch_x64_masm.asm │ │ ├── switch_x64_masm.obj │ │ ├── switch_x64_msvc.h │ │ ├── switch_x86_msvc.h │ │ └── switch_x86_unix.h │ ├── slp_platformselect.h │ └── tests │ │ ├── __init__.py │ │ ├── _test_extension.c │ │ ├── _test_extension.cpython-38-darwin.so │ │ ├── _test_extension_cpp.cpp │ │ ├── _test_extension_cpp.cpython-38-darwin.so │ │ ├── test_contextvars.py │ │ ├── test_cpp.py │ │ ├── test_extension_interface.py │ │ ├── test_gc.py │ │ ├── test_generator.py │ │ ├── test_generator_nested.py │ │ ├── test_greenlet.py │ │ ├── test_leaks.py │ │ ├── test_stack_saved.py │ │ ├── test_throw.py │ │ ├── test_tracing.py │ │ ├── test_version.py │ │ └── test_weakref.py │ ├── iniconfig-1.1.1.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── iniconfig │ ├── __init__.py │ ├── __init__.pyi │ └── py.typed │ ├── isort-5.6.4.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── entry_points.txt │ ├── isort │ ├── __init__.py │ ├── __main__.py │ ├── _future │ │ ├── __init__.py │ │ └── _dataclasses.py │ ├── _vendored │ │ └── toml │ │ │ ├── LICENSE │ │ │ ├── __init__.py │ │ │ ├── decoder.py │ │ │ ├── encoder.py │ │ │ ├── ordered.py │ │ │ └── tz.py │ ├── _version.py │ ├── api.py │ ├── comments.py │ ├── core.py │ ├── deprecated │ │ ├── __init__.py │ │ └── finders.py │ ├── exceptions.py │ ├── format.py │ ├── hooks.py │ ├── io.py │ ├── literal.py │ ├── logo.py │ ├── main.py │ ├── output.py │ ├── parse.py │ ├── place.py │ ├── profiles.py │ ├── pylama_isort.py │ ├── sections.py │ ├── settings.py │ ├── setuptools_commands.py │ ├── sorting.py │ ├── stdlibs │ │ ├── __init__.py │ │ ├── all.py │ │ ├── py2.py │ │ ├── py27.py │ │ ├── py3.py │ │ ├── py35.py │ │ ├── py36.py │ │ ├── py37.py │ │ ├── py38.py │ │ └── py39.py │ ├── utils.py │ ├── wrap.py │ └── wrap_modes.py │ ├── lazy_object_proxy-1.4.3.dist-info │ ├── AUTHORS.rst │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── lazy_object_proxy │ ├── __init__.py │ ├── _version.py │ ├── cext.cpython-38-darwin.so │ ├── compat.py │ ├── simple.py │ ├── slots.py │ └── utils.py │ ├── mccabe-0.6.1.dist-info │ ├── DESCRIPTION.rst │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ ├── entry_points.txt │ ├── metadata.json │ └── top_level.txt │ ├── mccabe.py │ ├── packaging-20.8.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── LICENSE.APACHE │ ├── LICENSE.BSD │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── packaging │ ├── __about__.py │ ├── __init__.py │ ├── _compat.py │ ├── _structures.py │ ├── _typing.py │ ├── markers.py │ ├── py.typed │ ├── requirements.py │ ├── specifiers.py │ ├── tags.py │ ├── utils.py │ └── version.py │ ├── pip-20.3.3.dist-info │ ├── INSTALLER │ ├── LICENSE.txt │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pip │ ├── __init__.py │ ├── __main__.py │ ├── _internal │ │ ├── __init__.py │ │ ├── build_env.py │ │ ├── cache.py │ │ ├── cli │ │ │ ├── __init__.py │ │ │ ├── autocompletion.py │ │ │ ├── base_command.py │ │ │ ├── cmdoptions.py │ │ │ ├── command_context.py │ │ │ ├── main.py │ │ │ ├── main_parser.py │ │ │ ├── parser.py │ │ │ ├── progress_bars.py │ │ │ ├── req_command.py │ │ │ ├── spinners.py │ │ │ └── status_codes.py │ │ ├── commands │ │ │ ├── __init__.py │ │ │ ├── cache.py │ │ │ ├── check.py │ │ │ ├── completion.py │ │ │ ├── configuration.py │ │ │ ├── debug.py │ │ │ ├── download.py │ │ │ ├── freeze.py │ │ │ ├── hash.py │ │ │ ├── help.py │ │ │ ├── install.py │ │ │ ├── list.py │ │ │ ├── search.py │ │ │ ├── show.py │ │ │ ├── uninstall.py │ │ │ └── wheel.py │ │ ├── configuration.py │ │ ├── distributions │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── installed.py │ │ │ ├── sdist.py │ │ │ └── wheel.py │ │ ├── exceptions.py │ │ ├── index │ │ │ ├── __init__.py │ │ │ ├── collector.py │ │ │ └── package_finder.py │ │ ├── locations.py │ │ ├── main.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── candidate.py │ │ │ ├── direct_url.py │ │ │ ├── format_control.py │ │ │ ├── index.py │ │ │ ├── link.py │ │ │ ├── scheme.py │ │ │ ├── search_scope.py │ │ │ ├── selection_prefs.py │ │ │ ├── target_python.py │ │ │ └── wheel.py │ │ ├── network │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── cache.py │ │ │ ├── download.py │ │ │ ├── lazy_wheel.py │ │ │ ├── session.py │ │ │ ├── utils.py │ │ │ └── xmlrpc.py │ │ ├── operations │ │ │ ├── __init__.py │ │ │ ├── build │ │ │ │ ├── __init__.py │ │ │ │ ├── metadata.py │ │ │ │ ├── metadata_legacy.py │ │ │ │ ├── wheel.py │ │ │ │ └── wheel_legacy.py │ │ │ ├── check.py │ │ │ ├── freeze.py │ │ │ ├── install │ │ │ │ ├── __init__.py │ │ │ │ ├── editable_legacy.py │ │ │ │ ├── legacy.py │ │ │ │ └── wheel.py │ │ │ └── prepare.py │ │ ├── pyproject.py │ │ ├── req │ │ │ ├── __init__.py │ │ │ ├── constructors.py │ │ │ ├── req_file.py │ │ │ ├── req_install.py │ │ │ ├── req_set.py │ │ │ ├── req_tracker.py │ │ │ └── req_uninstall.py │ │ ├── resolution │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── legacy │ │ │ │ ├── __init__.py │ │ │ │ └── resolver.py │ │ │ └── resolvelib │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── candidates.py │ │ │ │ ├── factory.py │ │ │ │ ├── found_candidates.py │ │ │ │ ├── provider.py │ │ │ │ ├── reporter.py │ │ │ │ ├── requirements.py │ │ │ │ └── resolver.py │ │ ├── self_outdated_check.py │ │ ├── utils │ │ │ ├── __init__.py │ │ │ ├── appdirs.py │ │ │ ├── compat.py │ │ │ ├── compatibility_tags.py │ │ │ ├── datetime.py │ │ │ ├── deprecation.py │ │ │ ├── direct_url_helpers.py │ │ │ ├── distutils_args.py │ │ │ ├── encoding.py │ │ │ ├── entrypoints.py │ │ │ ├── filesystem.py │ │ │ ├── filetypes.py │ │ │ ├── glibc.py │ │ │ ├── hashes.py │ │ │ ├── inject_securetransport.py │ │ │ ├── logging.py │ │ │ ├── misc.py │ │ │ ├── models.py │ │ │ ├── packaging.py │ │ │ ├── parallel.py │ │ │ ├── pkg_resources.py │ │ │ ├── setuptools_build.py │ │ │ ├── subprocess.py │ │ │ ├── temp_dir.py │ │ │ ├── typing.py │ │ │ ├── unpacking.py │ │ │ ├── urls.py │ │ │ ├── virtualenv.py │ │ │ └── wheel.py │ │ ├── vcs │ │ │ ├── __init__.py │ │ │ ├── bazaar.py │ │ │ ├── git.py │ │ │ ├── mercurial.py │ │ │ ├── subversion.py │ │ │ └── versioncontrol.py │ │ └── wheel_builder.py │ └── _vendor │ │ ├── __init__.py │ │ ├── appdirs.py │ │ ├── cachecontrol │ │ ├── __init__.py │ │ ├── _cmd.py │ │ ├── adapter.py │ │ ├── cache.py │ │ ├── caches │ │ │ ├── __init__.py │ │ │ ├── file_cache.py │ │ │ └── redis_cache.py │ │ ├── compat.py │ │ ├── controller.py │ │ ├── filewrapper.py │ │ ├── heuristics.py │ │ ├── serialize.py │ │ └── wrapper.py │ │ ├── certifi │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── cacert.pem │ │ └── core.py │ │ ├── chardet │ │ ├── __init__.py │ │ ├── big5freq.py │ │ ├── big5prober.py │ │ ├── chardistribution.py │ │ ├── charsetgroupprober.py │ │ ├── charsetprober.py │ │ ├── cli │ │ │ ├── __init__.py │ │ │ └── chardetect.py │ │ ├── codingstatemachine.py │ │ ├── compat.py │ │ ├── cp949prober.py │ │ ├── enums.py │ │ ├── escprober.py │ │ ├── escsm.py │ │ ├── eucjpprober.py │ │ ├── euckrfreq.py │ │ ├── euckrprober.py │ │ ├── euctwfreq.py │ │ ├── euctwprober.py │ │ ├── gb2312freq.py │ │ ├── gb2312prober.py │ │ ├── hebrewprober.py │ │ ├── jisfreq.py │ │ ├── jpcntx.py │ │ ├── langbulgarianmodel.py │ │ ├── langcyrillicmodel.py │ │ ├── langgreekmodel.py │ │ ├── langhebrewmodel.py │ │ ├── langhungarianmodel.py │ │ ├── langthaimodel.py │ │ ├── langturkishmodel.py │ │ ├── latin1prober.py │ │ ├── mbcharsetprober.py │ │ ├── mbcsgroupprober.py │ │ ├── mbcssm.py │ │ ├── sbcharsetprober.py │ │ ├── sbcsgroupprober.py │ │ ├── sjisprober.py │ │ ├── universaldetector.py │ │ ├── utf8prober.py │ │ └── version.py │ │ ├── colorama │ │ ├── __init__.py │ │ ├── ansi.py │ │ ├── ansitowin32.py │ │ ├── initialise.py │ │ ├── win32.py │ │ └── winterm.py │ │ ├── contextlib2.py │ │ ├── distlib │ │ ├── __init__.py │ │ ├── _backport │ │ │ ├── __init__.py │ │ │ ├── misc.py │ │ │ ├── shutil.py │ │ │ ├── sysconfig.cfg │ │ │ ├── sysconfig.py │ │ │ └── tarfile.py │ │ ├── compat.py │ │ ├── database.py │ │ ├── index.py │ │ ├── locators.py │ │ ├── manifest.py │ │ ├── markers.py │ │ ├── metadata.py │ │ ├── resources.py │ │ ├── scripts.py │ │ ├── t32.exe │ │ ├── t64.exe │ │ ├── util.py │ │ ├── version.py │ │ ├── w32.exe │ │ ├── w64.exe │ │ └── wheel.py │ │ ├── distro.py │ │ ├── html5lib │ │ ├── __init__.py │ │ ├── _ihatexml.py │ │ ├── _inputstream.py │ │ ├── _tokenizer.py │ │ ├── _trie │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ └── py.py │ │ ├── _utils.py │ │ ├── constants.py │ │ ├── filters │ │ │ ├── __init__.py │ │ │ ├── alphabeticalattributes.py │ │ │ ├── base.py │ │ │ ├── inject_meta_charset.py │ │ │ ├── lint.py │ │ │ ├── optionaltags.py │ │ │ ├── sanitizer.py │ │ │ └── whitespace.py │ │ ├── html5parser.py │ │ ├── serializer.py │ │ ├── treeadapters │ │ │ ├── __init__.py │ │ │ ├── genshi.py │ │ │ └── sax.py │ │ ├── treebuilders │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── dom.py │ │ │ ├── etree.py │ │ │ └── etree_lxml.py │ │ └── treewalkers │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── dom.py │ │ │ ├── etree.py │ │ │ ├── etree_lxml.py │ │ │ └── genshi.py │ │ ├── idna │ │ ├── __init__.py │ │ ├── codec.py │ │ ├── compat.py │ │ ├── core.py │ │ ├── idnadata.py │ │ ├── intranges.py │ │ ├── package_data.py │ │ └── uts46data.py │ │ ├── ipaddress.py │ │ ├── msgpack │ │ ├── __init__.py │ │ ├── _version.py │ │ ├── exceptions.py │ │ ├── ext.py │ │ └── fallback.py │ │ ├── packaging │ │ ├── __about__.py │ │ ├── __init__.py │ │ ├── _compat.py │ │ ├── _structures.py │ │ ├── _typing.py │ │ ├── markers.py │ │ ├── requirements.py │ │ ├── specifiers.py │ │ ├── tags.py │ │ ├── utils.py │ │ └── version.py │ │ ├── pep517 │ │ ├── __init__.py │ │ ├── _in_process.py │ │ ├── build.py │ │ ├── check.py │ │ ├── colorlog.py │ │ ├── compat.py │ │ ├── dirtools.py │ │ ├── envbuild.py │ │ ├── meta.py │ │ └── wrappers.py │ │ ├── pkg_resources │ │ ├── __init__.py │ │ └── py31compat.py │ │ ├── progress │ │ ├── __init__.py │ │ ├── bar.py │ │ ├── counter.py │ │ └── spinner.py │ │ ├── pyparsing.py │ │ ├── requests │ │ ├── __init__.py │ │ ├── __version__.py │ │ ├── _internal_utils.py │ │ ├── adapters.py │ │ ├── api.py │ │ ├── auth.py │ │ ├── certs.py │ │ ├── compat.py │ │ ├── cookies.py │ │ ├── exceptions.py │ │ ├── help.py │ │ ├── hooks.py │ │ ├── models.py │ │ ├── packages.py │ │ ├── sessions.py │ │ ├── status_codes.py │ │ ├── structures.py │ │ └── utils.py │ │ ├── resolvelib │ │ ├── __init__.py │ │ ├── compat │ │ │ ├── __init__.py │ │ │ └── collections_abc.py │ │ ├── providers.py │ │ ├── reporters.py │ │ ├── resolvers.py │ │ └── structs.py │ │ ├── retrying.py │ │ ├── six.py │ │ ├── toml │ │ ├── __init__.py │ │ ├── decoder.py │ │ ├── encoder.py │ │ ├── ordered.py │ │ └── tz.py │ │ ├── urllib3 │ │ ├── __init__.py │ │ ├── _collections.py │ │ ├── _version.py │ │ ├── connection.py │ │ ├── connectionpool.py │ │ ├── contrib │ │ │ ├── __init__.py │ │ │ ├── _appengine_environ.py │ │ │ ├── _securetransport │ │ │ │ ├── __init__.py │ │ │ │ ├── bindings.py │ │ │ │ └── low_level.py │ │ │ ├── appengine.py │ │ │ ├── ntlmpool.py │ │ │ ├── pyopenssl.py │ │ │ ├── securetransport.py │ │ │ └── socks.py │ │ ├── exceptions.py │ │ ├── fields.py │ │ ├── filepost.py │ │ ├── packages │ │ │ ├── __init__.py │ │ │ ├── backports │ │ │ │ ├── __init__.py │ │ │ │ └── makefile.py │ │ │ ├── six.py │ │ │ └── ssl_match_hostname │ │ │ │ ├── __init__.py │ │ │ │ └── _implementation.py │ │ ├── poolmanager.py │ │ ├── request.py │ │ ├── response.py │ │ └── util │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── proxy.py │ │ │ ├── queue.py │ │ │ ├── request.py │ │ │ ├── response.py │ │ │ ├── retry.py │ │ │ ├── ssl_.py │ │ │ ├── ssltransport.py │ │ │ ├── timeout.py │ │ │ ├── url.py │ │ │ └── wait.py │ │ ├── vendor.txt │ │ └── webencodings │ │ ├── __init__.py │ │ ├── labels.py │ │ ├── mklabels.py │ │ ├── tests.py │ │ └── x_user_defined.py │ ├── pkg_resources │ ├── __init__.py │ ├── _vendor │ │ ├── __init__.py │ │ ├── appdirs.py │ │ ├── packaging │ │ │ ├── __about__.py │ │ │ ├── __init__.py │ │ │ ├── _compat.py │ │ │ ├── _structures.py │ │ │ ├── _typing.py │ │ │ ├── markers.py │ │ │ ├── requirements.py │ │ │ ├── specifiers.py │ │ │ ├── tags.py │ │ │ ├── utils.py │ │ │ └── version.py │ │ ├── pyparsing.py │ │ └── vendored.txt │ ├── api_tests.txt │ ├── extern │ │ └── __init__.py │ └── tests │ │ ├── __init__.py │ │ ├── data │ │ ├── my-test-package-source │ │ │ ├── setup.cfg │ │ │ └── setup.py │ │ ├── my-test-package_unpacked-egg │ │ │ └── my_test_package-1.0-py3.7.egg │ │ │ │ └── EGG-INFO │ │ │ │ ├── PKG-INFO │ │ │ │ ├── SOURCES.txt │ │ │ │ ├── dependency_links.txt │ │ │ │ ├── top_level.txt │ │ │ │ └── zip-safe │ │ └── my-test-package_zipped-egg │ │ │ └── my_test_package-1.0-py3.7.egg │ │ ├── test_find_distributions.py │ │ ├── test_markers.py │ │ ├── test_pkg_resources.py │ │ ├── test_resources.py │ │ └── test_working_set.py │ ├── playwright-0.171.1.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ └── top_level.txt │ ├── playwright │ ├── __init__.py │ ├── __main__.py │ ├── _accessibility.py │ ├── _async_base.py │ ├── _browser.py │ ├── _browser_context.py │ ├── _browser_type.py │ ├── _cdp_session.py │ ├── _chromium_browser_context.py │ ├── _connection.py │ ├── _console_message.py │ ├── _dialog.py │ ├── _download.py │ ├── _element_handle.py │ ├── _event_context_manager.py │ ├── _file_chooser.py │ ├── _frame.py │ ├── _helper.py │ ├── _impl_to_api_mapping.py │ ├── _input.py │ ├── _js_handle.py │ ├── _main.py │ ├── _network.py │ ├── _object_factory.py │ ├── _page.py │ ├── _path_utils.py │ ├── _playwright.py │ ├── _repo_version.py │ ├── _selectors.py │ ├── _sync_base.py │ ├── _transport.py │ ├── _types.py │ ├── _video.py │ ├── _wait_helper.py │ ├── async_api.py │ ├── driver │ │ ├── browsers.json │ │ ├── ffmpeg-mac │ │ ├── ffmpeg.COPYING.GPLv3 │ │ └── playwright-cli │ ├── py.typed │ └── sync_api.py │ ├── pluggy-0.13.1.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── pluggy │ ├── __init__.py │ ├── _tracing.py │ ├── _version.py │ ├── callers.py │ ├── hooks.py │ └── manager.py │ ├── py-1.10.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── py │ ├── __init__.py │ ├── __init__.pyi │ ├── __metainfo.py │ ├── _builtin.py │ ├── _code │ │ ├── __init__.py │ │ ├── _assertionnew.py │ │ ├── _assertionold.py │ │ ├── _py2traceback.py │ │ ├── assertion.py │ │ ├── code.py │ │ └── source.py │ ├── _error.py │ ├── _io │ │ ├── __init__.py │ │ ├── capture.py │ │ ├── saferepr.py │ │ └── terminalwriter.py │ ├── _log │ │ ├── __init__.py │ │ ├── log.py │ │ └── warning.py │ ├── _path │ │ ├── __init__.py │ │ ├── cacheutil.py │ │ ├── common.py │ │ ├── local.py │ │ ├── svnurl.py │ │ └── svnwc.py │ ├── _process │ │ ├── __init__.py │ │ ├── cmdexec.py │ │ ├── forkedfunc.py │ │ └── killproc.py │ ├── _std.py │ ├── _vendored_packages │ │ ├── __init__.py │ │ ├── apipkg-1.5.dist-info │ │ │ ├── INSTALLER │ │ │ ├── METADATA │ │ │ ├── RECORD │ │ │ ├── REQUESTED │ │ │ ├── WHEEL │ │ │ └── top_level.txt │ │ ├── apipkg │ │ │ ├── __init__.py │ │ │ └── version.py │ │ ├── iniconfig-1.1.1.dist-info │ │ │ ├── INSTALLER │ │ │ ├── LICENSE │ │ │ ├── METADATA │ │ │ ├── RECORD │ │ │ ├── REQUESTED │ │ │ ├── WHEEL │ │ │ └── top_level.txt │ │ └── iniconfig │ │ │ ├── __init__.py │ │ │ ├── __init__.pyi │ │ │ └── py.typed │ ├── _version.py │ ├── _xmlgen.py │ ├── error.pyi │ ├── iniconfig.pyi │ ├── io.pyi │ ├── path.pyi │ ├── py.typed │ ├── test.py │ └── xml.pyi │ ├── pyee-8.1.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── pyee │ ├── __init__.py │ ├── _asyncio.py │ ├── _base.py │ ├── _compat.py │ ├── _executor.py │ ├── _trio.py │ ├── _twisted.py │ └── uplift.py │ ├── pylint-2.6.0.dist-info │ ├── COPYING │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pylint │ ├── __init__.py │ ├── __main__.py │ ├── __pkginfo__.py │ ├── checkers │ │ ├── __init__.py │ │ ├── async.py │ │ ├── base.py │ │ ├── base_checker.py │ │ ├── classes.py │ │ ├── design_analysis.py │ │ ├── exceptions.py │ │ ├── format.py │ │ ├── imports.py │ │ ├── logging.py │ │ ├── misc.py │ │ ├── newstyle.py │ │ ├── python3.py │ │ ├── raw_metrics.py │ │ ├── refactoring.py │ │ ├── similar.py │ │ ├── spelling.py │ │ ├── stdlib.py │ │ ├── strings.py │ │ ├── typecheck.py │ │ ├── utils.py │ │ └── variables.py │ ├── config │ │ ├── __init__.py │ │ ├── configuration_mixin.py │ │ ├── find_default_config_files.py │ │ ├── man_help_formatter.py │ │ ├── option.py │ │ ├── option_manager_mixin.py │ │ ├── option_parser.py │ │ └── options_provider_mixin.py │ ├── constants.py │ ├── epylint.py │ ├── exceptions.py │ ├── extensions │ │ ├── __init__.py │ │ ├── _check_docs_utils.py │ │ ├── bad_builtin.py │ │ ├── broad_try_clause.py │ │ ├── check_docs.py │ │ ├── check_elif.py │ │ ├── comparetozero.py │ │ ├── docparams.py │ │ ├── docstyle.py │ │ ├── emptystring.py │ │ ├── mccabe.py │ │ ├── overlapping_exceptions.py │ │ └── redefined_variable_type.py │ ├── graph.py │ ├── interfaces.py │ ├── lint │ │ ├── __init__.py │ │ ├── check_parallel.py │ │ ├── pylinter.py │ │ ├── report_functions.py │ │ ├── run.py │ │ └── utils.py │ ├── message │ │ ├── __init__.py │ │ ├── message.py │ │ ├── message_definition.py │ │ ├── message_definition_store.py │ │ ├── message_handler_mix_in.py │ │ └── message_id_store.py │ ├── pyreverse │ │ ├── __init__.py │ │ ├── diadefslib.py │ │ ├── diagrams.py │ │ ├── inspector.py │ │ ├── main.py │ │ ├── utils.py │ │ ├── vcgutils.py │ │ └── writer.py │ ├── reporters │ │ ├── __init__.py │ │ ├── base_reporter.py │ │ ├── collecting_reporter.py │ │ ├── json_reporter.py │ │ ├── reports_handler_mix_in.py │ │ ├── text.py │ │ └── ureports │ │ │ ├── __init__.py │ │ │ ├── nodes.py │ │ │ └── text_writer.py │ ├── testutils.py │ └── utils │ │ ├── __init__.py │ │ ├── ast_walker.py │ │ ├── file_state.py │ │ ├── pragma_parser.py │ │ └── utils.py │ ├── pylint_fail_under-0.3.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pylint_fail_under │ ├── __init__.py │ ├── __main__.py │ └── tests │ │ ├── __init__.py │ │ └── test_cmd_line_interface.py │ ├── pyparsing-2.4.7.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── pyparsing.py │ ├── pytest-6.2.2.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pytest │ ├── __init__.py │ ├── __main__.py │ ├── collect.py │ └── py.typed │ ├── pytest_asyncio-0.14.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pytest_asyncio │ ├── __init__.py │ └── plugin.py │ ├── pytest_forked-1.3.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── pytest_forked │ └── __init__.py │ ├── pytest_xdist-2.2.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── REQUESTED │ ├── WHEEL │ ├── entry_points.txt │ └── top_level.txt │ ├── setuptools-51.1.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ ├── dependency_links.txt │ ├── entry_points.txt │ └── top_level.txt │ ├── setuptools │ ├── __init__.py │ ├── _deprecation_warning.py │ ├── _distutils │ │ ├── __init__.py │ │ ├── _msvccompiler.py │ │ ├── archive_util.py │ │ ├── bcppcompiler.py │ │ ├── ccompiler.py │ │ ├── cmd.py │ │ ├── command │ │ │ ├── __init__.py │ │ │ ├── bdist.py │ │ │ ├── bdist_dumb.py │ │ │ ├── bdist_msi.py │ │ │ ├── bdist_rpm.py │ │ │ ├── bdist_wininst.py │ │ │ ├── build.py │ │ │ ├── build_clib.py │ │ │ ├── build_ext.py │ │ │ ├── build_py.py │ │ │ ├── build_scripts.py │ │ │ ├── check.py │ │ │ ├── clean.py │ │ │ ├── config.py │ │ │ ├── install.py │ │ │ ├── install_data.py │ │ │ ├── install_egg_info.py │ │ │ ├── install_headers.py │ │ │ ├── install_lib.py │ │ │ ├── install_scripts.py │ │ │ ├── py37compat.py │ │ │ ├── register.py │ │ │ ├── sdist.py │ │ │ ├── upload.py │ │ │ ├── wininst-10.0-amd64.exe │ │ │ ├── wininst-10.0.exe │ │ │ ├── wininst-14.0-amd64.exe │ │ │ ├── wininst-14.0.exe │ │ │ ├── wininst-6.0.exe │ │ │ ├── wininst-7.1.exe │ │ │ ├── wininst-8.0.exe │ │ │ ├── wininst-9.0-amd64.exe │ │ │ └── wininst-9.0.exe │ │ ├── config.py │ │ ├── core.py │ │ ├── cygwinccompiler.py │ │ ├── debug.py │ │ ├── dep_util.py │ │ ├── dir_util.py │ │ ├── dist.py │ │ ├── errors.py │ │ ├── extension.py │ │ ├── fancy_getopt.py │ │ ├── file_util.py │ │ ├── filelist.py │ │ ├── log.py │ │ ├── msvc9compiler.py │ │ ├── msvccompiler.py │ │ ├── py35compat.py │ │ ├── py38compat.py │ │ ├── spawn.py │ │ ├── sysconfig.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── py35compat.py │ │ │ ├── py38compat.py │ │ │ ├── support.py │ │ │ ├── test_archive_util.py │ │ │ ├── test_bdist.py │ │ │ ├── test_bdist_dumb.py │ │ │ ├── test_bdist_msi.py │ │ │ ├── test_bdist_rpm.py │ │ │ ├── test_bdist_wininst.py │ │ │ ├── test_build.py │ │ │ ├── test_build_clib.py │ │ │ ├── test_build_ext.py │ │ │ ├── test_build_py.py │ │ │ ├── test_build_scripts.py │ │ │ ├── test_check.py │ │ │ ├── test_clean.py │ │ │ ├── test_cmd.py │ │ │ ├── test_config.py │ │ │ ├── test_config_cmd.py │ │ │ ├── test_core.py │ │ │ ├── test_cygwinccompiler.py │ │ │ ├── test_dep_util.py │ │ │ ├── test_dir_util.py │ │ │ ├── test_dist.py │ │ │ ├── test_extension.py │ │ │ ├── test_file_util.py │ │ │ ├── test_filelist.py │ │ │ ├── test_install.py │ │ │ ├── test_install_data.py │ │ │ ├── test_install_headers.py │ │ │ ├── test_install_lib.py │ │ │ ├── test_install_scripts.py │ │ │ ├── test_log.py │ │ │ ├── test_msvc9compiler.py │ │ │ ├── test_msvccompiler.py │ │ │ ├── test_register.py │ │ │ ├── test_sdist.py │ │ │ ├── test_spawn.py │ │ │ ├── test_sysconfig.py │ │ │ ├── test_text_file.py │ │ │ ├── test_unixccompiler.py │ │ │ ├── test_upload.py │ │ │ ├── test_util.py │ │ │ ├── test_version.py │ │ │ └── test_versionpredicate.py │ │ ├── text_file.py │ │ ├── unixccompiler.py │ │ ├── util.py │ │ ├── version.py │ │ └── versionpredicate.py │ ├── _imp.py │ ├── _vendor │ │ ├── __init__.py │ │ ├── ordered_set.py │ │ ├── packaging │ │ │ ├── __about__.py │ │ │ ├── __init__.py │ │ │ ├── _compat.py │ │ │ ├── _structures.py │ │ │ ├── _typing.py │ │ │ ├── markers.py │ │ │ ├── requirements.py │ │ │ ├── specifiers.py │ │ │ ├── tags.py │ │ │ ├── utils.py │ │ │ └── version.py │ │ ├── pyparsing.py │ │ └── vendored.txt │ ├── archive_util.py │ ├── build_meta.py │ ├── cli-32.exe │ ├── cli-64.exe │ ├── cli.exe │ ├── command │ │ ├── __init__.py │ │ ├── alias.py │ │ ├── bdist_egg.py │ │ ├── bdist_rpm.py │ │ ├── bdist_wininst.py │ │ ├── build_clib.py │ │ ├── build_ext.py │ │ ├── build_py.py │ │ ├── develop.py │ │ ├── dist_info.py │ │ ├── easy_install.py │ │ ├── egg_info.py │ │ ├── install.py │ │ ├── install_egg_info.py │ │ ├── install_lib.py │ │ ├── install_scripts.py │ │ ├── launcher manifest.xml │ │ ├── py36compat.py │ │ ├── register.py │ │ ├── rotate.py │ │ ├── saveopts.py │ │ ├── sdist.py │ │ ├── setopt.py │ │ ├── test.py │ │ ├── upload.py │ │ └── upload_docs.py │ ├── config.py │ ├── dep_util.py │ ├── depends.py │ ├── dist.py │ ├── errors.py │ ├── extension.py │ ├── extern │ │ └── __init__.py │ ├── glob.py │ ├── gui-32.exe │ ├── gui-64.exe │ ├── gui.exe │ ├── installer.py │ ├── launch.py │ ├── lib2to3_ex.py │ ├── monkey.py │ ├── msvc.py │ ├── namespaces.py │ ├── package_index.py │ ├── py34compat.py │ ├── sandbox.py │ ├── script (dev).tmpl │ ├── script.tmpl │ ├── ssl_support.py │ ├── tests │ │ ├── __init__.py │ │ ├── contexts.py │ │ ├── environment.py │ │ ├── files.py │ │ ├── fixtures.py │ │ ├── indexes │ │ │ └── test_links_priority │ │ │ │ ├── external.html │ │ │ │ └── simple │ │ │ │ └── foobar │ │ │ │ └── index.html │ │ ├── mod_with_constant.py │ │ ├── namespaces.py │ │ ├── script-with-bom.py │ │ ├── server.py │ │ ├── test_archive_util.py │ │ ├── test_bdist_deprecations.py │ │ ├── test_bdist_egg.py │ │ ├── test_build_clib.py │ │ ├── test_build_ext.py │ │ ├── test_build_meta.py │ │ ├── test_build_py.py │ │ ├── test_config.py │ │ ├── test_dep_util.py │ │ ├── test_depends.py │ │ ├── test_develop.py │ │ ├── test_dist.py │ │ ├── test_dist_info.py │ │ ├── test_distutils_adoption.py │ │ ├── test_easy_install.py │ │ ├── test_egg_info.py │ │ ├── test_extern.py │ │ ├── test_find_packages.py │ │ ├── test_glob.py │ │ ├── test_install_scripts.py │ │ ├── test_integration.py │ │ ├── test_manifest.py │ │ ├── test_msvc.py │ │ ├── test_msvc14.py │ │ ├── test_namespaces.py │ │ ├── test_packageindex.py │ │ ├── test_register.py │ │ ├── test_sandbox.py │ │ ├── test_sdist.py │ │ ├── test_setopt.py │ │ ├── test_setuptools.py │ │ ├── test_test.py │ │ ├── test_unicode_utils.py │ │ ├── test_upload.py │ │ ├── test_upload_docs.py │ │ ├── test_virtualenv.py │ │ ├── test_wheel.py │ │ ├── test_windows_wrappers.py │ │ ├── text.py │ │ └── textwrap.py │ ├── unicode_utils.py │ ├── version.py │ ├── wheel.py │ └── windows_support.py │ ├── six-1.15.0.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── six.py │ ├── toml-0.10.2.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── toml │ ├── __init__.py │ ├── decoder.py │ ├── encoder.py │ ├── ordered.py │ └── tz.py │ ├── typing_extensions-3.7.4.3.dist-info │ ├── INSTALLER │ ├── LICENSE │ ├── METADATA │ ├── RECORD │ ├── WHEEL │ └── top_level.txt │ ├── typing_extensions.py │ ├── wrapt-1.12.1-py3.8.egg-info │ ├── PKG-INFO │ ├── SOURCES.txt │ ├── dependency_links.txt │ ├── installed-files.txt │ └── top_level.txt │ ├── wrapt │ ├── __init__.py │ ├── _wrappers.cpython-38-darwin.so │ ├── decorators.py │ ├── importer.py │ └── wrappers.py │ └── xdist │ ├── __init__.py │ ├── _version.py │ ├── dsession.py │ ├── looponfail.py │ ├── newhooks.py │ ├── plugin.py │ ├── remote.py │ ├── report.py │ ├── scheduler │ ├── __init__.py │ ├── each.py │ ├── load.py │ ├── loadfile.py │ └── loadscope.py │ └── workermanage.py └── pyvenv.cfg /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | Pipfile.lock 3 | **/__pycache__/ 4 | **/.pytest_cache/ 5 | **/allure-results/ 6 | **/allure-report/ 7 | #**/screenshots/*.png 8 | #**/video/*.webm -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- 1 | [FORMAT] 2 | max-line-length=120 3 | 4 | # Docstrings 5 | disable=C0114,C0115,C0116,W0603 6 | 7 | [MASTER] 8 | init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc()))" -------------------------------------------------------------------------------- /archive/output_1631684613.0331872.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631684613.033222, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631684613.033222.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n navigating to \"http://automationpractice.com/index.php\", waiting until \"load\"\n ============================================================\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631684559.4785678, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631684613.033386.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631684613.0331872, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631685305.1010208.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631685305.101429, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631685305.101429.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631685305.10161, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631685305.10161.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631684613.033386, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631686671.815422.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631685305.1010208, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631686970.8319411.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631686671.815422, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631687003.152371.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631686970.8319411, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631691361.690908.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631691361.691013, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631691361.690985.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"#add_to_cart\"\n ============================================================\n", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631691361.690908, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631691361.691013.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631687512.1726458, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631694054.4157288.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631691361.690985, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631694331.898747.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631694054.414169, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631694331.8988008.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631694331.899282, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631694331.899282.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631694331.898747, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631719839.162663.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"#add_to_cart\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631694331.8988008, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631719839.1626801.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631719839.162849, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631719839.162849.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_negative[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631719839.162663, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631858505.386183.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 15, 2021", "start_time": 1631719839.1626801, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631859030.796597.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"#add_to_cart\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631858505.386183, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631860989.348107.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631859030.796597, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631866437.480553.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631861072.207219, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631866943.452018.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"li:nth-child(3) > a[title=\"T-shirts\"]\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631866437.480553, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631867137.823338.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"li:nth-child(3) > a[title=\"T-shirts\"]\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631866943.452018, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631868474.922646.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631867347.381736, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631872593.242464.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " AttributeError: 'function' object has no attribute 'was_able_to'\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631870817.734585, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631872625.515954.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " AttributeError: 'function' object has no attribute 'was_able_to'\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 17, 2021", "start_time": 1631872593.242464, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631927336.679308.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631927336.6793659, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931148.757182.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931148.757673, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931148.757673.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631927336.679308, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931577.9002712.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931148.757182, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931577.90083.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931577.9002712, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931700.58674.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931577.90083, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631931700.586774.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931700.58674, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631933199.198808.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631933199.198812, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631933199.198812.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n waiting for selector \"#add_to_cart\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631931700.586774, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631935445.6809332.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n navigating to \"http://automationpractice.com/index.php\", waiting until \"load\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631933199.198808, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631944349.88116.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n navigating to \"http://automationpractice.com/index.php\", waiting until \"load\"\n ============================================================\n", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631944349.8898501, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631944802.253289.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631944802.260622, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631951374.761316.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631944802.253289, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631952774.0888588.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.\n =========================== logs ===========================\n navigating to \"http://automationpractice.com/index.php\", waiting until \"load\"\n ============================================================\n", "test_name": "test_order_t_shirt[chromium]", "rerun": "0"}}, "suite_name": "tests/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631951906.530692, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631954260.8322518.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_search_for_screenpy", "rerun": "0"}}, "suite_name": "tests/test_github_search.py"}}}, "date": "September 18, 2021", "start_time": 1631954260.832191, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631954335.450422.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_search_for_nonexistent_repo", "rerun": "0"}}, "suite_name": "tests/test_github_search.py"}}}, "date": "September 18, 2021", "start_time": 1631954335.450528, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631954335.450528.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_search_for_nonexistent_repo", "rerun": "0"}}, "suite_name": "tests/test_github_search.py"}}}, "date": "September 18, 2021", "start_time": 1631954260.8322518, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631954575.5265532.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_search_for_screenpy", "rerun": "0"}}, "suite_name": "tests/test_github_search.py"}}}, "date": "September 18, 2021", "start_time": 1631954335.450422, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631954950.747736.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " AssertionError: \n Expected: a string containing '\u8d26\u6237\u767b\u5f55'\n but: was ''\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 18, 2021", "start_time": 1631954838.294987, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631955000.494401.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " AssertionError: \n Expected: a string containing '\u8d26\u6237\u767b\u5f55'\n but: was '\u767b\u5f55'\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 18, 2021", "start_time": 1631954950.747736, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631956379.8946939.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631956379.895266, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631956923.251051.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631956379.8946939, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631956923.2512379.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " assert False\n", "test_name": "test_shop_attachment_count", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631956923.251051, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1631956992.394409.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_shop_order_t_shirt", "rerun": "0"}}, "suite_name": "tests/step_definition/shop/test_shop.py"}}}, "date": "September 18, 2021", "start_time": 1631956923.2512379, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632279545.939059.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 1}, "tests": {"0": {"status": "ERROR", "message": "ScopeMismatch: You tried to access the 'module' scoped fixture 'base_url' with a 'session' scoped request object, involved factories\n../../miniforge3/lib/python3.9/site-packages/pytest_base_url/plugin.py:19: def _verify_url(request, base_url)\ntests/conftest.py:34: def base_url(request)\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632278837.343542, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "0", "skip": "0", "error": "1", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632279637.973008.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 1}, "tests": {"0": {"status": "ERROR", "message": "ScopeMismatch: You tried to access the 'function' scoped fixture 'base_url' with a 'session' scoped request object, involved factories\n../../miniforge3/lib/python3.9/site-packages/pytest_base_url/plugin.py:19: def _verify_url(request, base_url)\ntests/conftest.py:34: def base_url(request)\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632279545.939059, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "0", "skip": "0", "error": "1", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632279767.665683.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 1}, "tests": {"0": {"status": "ERROR", "message": "ScopeMismatch: You tried to access the 'module' scoped fixture 'base_url' with a 'session' scoped request object, involved factories\n../../miniforge3/lib/python3.9/site-packages/pytest_base_url/plugin.py:19: def _verify_url(request, base_url)\nconftest.py:112: def base_url(request)\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632279637.973008, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "0", "skip": "0", "error": "1", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632279919.129299.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632279767.665683, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632280068.668581.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632279919.129299, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632280192.0775082.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632280068.668581, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632283632.588773.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632280192.0775082, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632283700.5085518.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632283632.588773, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632283805.4610372.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632283700.5085518, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632288900.022491.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632283805.4610372, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632289066.946003.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632288900.022491, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632290292.319364.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " selenium.common.exceptions.InvalidArgumentException: Message: invalid argument\n (Session info: chrome=93.0.4577.82)\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632289066.946003, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632290346.0985548.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 0, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 1, "total_error": 0}, "tests": {"0": {"status": "FAIL", "message": " selenium.common.exceptions.InvalidArgumentException: Message: invalid argument\n (Session info: chrome=93.0.4577.82)\n", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632290292.319364, "total_suite": 1, "status": "FAIL", "status_list": {"pass": "0", "fail": "1", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632290653.262721.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632290346.0985548, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632291068.681983.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632290653.262721, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /archive/output_1632292936.4832299.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632291068.681983, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /bdd-report/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /bdd-report/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /bdd-report/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /bdd-report/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /bdd-report/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /bdd-report/assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /bdd-report/assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /bdd-report/assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /bdd-report/assets/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/bdd-report/assets/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /bdd-report/generate-html-report.js: -------------------------------------------------------------------------------- 1 | var reporter = require('cucumber-html-reporter'); 2 | 3 | var options = { 4 | theme: 'bootstrap', 5 | jsonFile: 'bdd-report/cucumber-report.json', 6 | output: 'bdd-report/cucumber_report.html', 7 | reportSuiteAsScenarios: true, 8 | scenarioTimestamp: true, 9 | launchReport: true, 10 | name: 'Pytest-ui-automatic Report', 11 | brandTitle: 'Pytest BDD Report', 12 | metadata: { 13 | "App Version":"1.0.0", 14 | "Test Environment": "STAGING", 15 | "Browser": "Chrome 94.0.4595.0", 16 | "Platform": "Mac", 17 | "Parallel": "Scenarios", 18 | "Executed": "Remote" 19 | } 20 | }; 21 | 22 | reporter.generate(options); -------------------------------------------------------------------------------- /cucumber-report-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/cucumber-report-1.png -------------------------------------------------------------------------------- /cucumber-report-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/cucumber-report-2.png -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | tests: 4 | image: playw_python 5 | command: ./execute_tests.sh 6 | depends_on: 7 | - setup 8 | volumes: 9 | - .:/app 10 | environment: 11 | - DOCKER_RUN=True 12 | setup: 13 | build: 14 | context: . 15 | dockerfile: Dockerfile 16 | image: playw_python -------------------------------------------------------------------------------- /environment.properties: -------------------------------------------------------------------------------- 1 | browser=chrome 2 | backend=ui 3 | version=94.0.4595.0 -------------------------------------------------------------------------------- /execute_tests_bdd.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | source venv/bin/activate 3 | echo "-> Installing dependencies" 4 | python3 -m pip install --upgrade pip 5 | python3 -m playwright install 6 | pip3 install -r requirements.txt --quiet 7 | # 8 | #echo "-> Removing old Allure results" 9 | #rm -r allure-results/* || echo "No results" 10 | 11 | echo "-> Start tests" 12 | pytest -n auto tests/step_definition/ --cucumber-json=bdd-report/cucumber-report.json --base-url http://automationpractice.com --headed 13 | echo "-> Test finished" 14 | 15 | echo "-> Generating report" 16 | node bdd-report/generate-html-report.js 17 | 18 | echo "-> Open report" 19 | #allure open allure-report/ -------------------------------------------------------------------------------- /execute_tests_pipfile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | echo "-> Installing dependencies" 3 | python3 -m pip install --upgrade pip 4 | python3 -m pip install pipenv 5 | #python3 -m playwright install 6 | pipenv install 7 | npm i cucumber-html-reporter 8 | 9 | #echo "-> Removing old Allure results" 10 | #rm -r allure-results/* || echo "No results" 11 | 12 | echo "-> Start tests" 13 | pipenv run pytest -n auto tests/ --cucumber-json=bdd-report/cucumber-report.json --base-url http://automationpractice.com --reportportal 14 | echo "-> Test finished" 15 | 16 | echo "-> Generating report" 17 | #cp environment.properties allure-results/ 18 | node bdd-report/generate-html-report.js 19 | echo "-> Open report" 20 | #allure open allure-report/ -------------------------------------------------------------------------------- /info.json: -------------------------------------------------------------------------------- 1 | { 2 | "summary": "This is the browser-level functional testing" 3 | } -------------------------------------------------------------------------------- /output.json: -------------------------------------------------------------------------------- 1 | {"content": {"suites": {"0": {"status": {"total_pass": 1, "total_skip": 0, "total_xpass": 0, "total_xfail": 0, "total_rerun": 0, "total_fail": 0, "total_error": 0}, "tests": {"0": {"status": "PASS", "message": "", "test_name": "test_login_home_page", "rerun": "0"}}, "suite_name": "tests/test_login_page.py"}}}, "date": "September 22, 2021", "start_time": 1632292936.4832299, "total_suite": 1, "status": "PASS", "status_list": {"pass": "1", "fail": "0", "skip": "0", "error": "0", "xpass": "0", "xfail": "0", "rerun": "0"}, "total_tests": "1"} -------------------------------------------------------------------------------- /page_objects/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/page_objects/__init__.py -------------------------------------------------------------------------------- /page_objects/registation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/page_objects/registation/__init__.py -------------------------------------------------------------------------------- /page_objects/shop/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/page_objects/shop/__init__.py -------------------------------------------------------------------------------- /page_objects/shop/shop_locators.py: -------------------------------------------------------------------------------- 1 | class ShopLocators: 2 | ADDRESS = '/index.php' 3 | T_SHIRT_CATEGORY_BTN = 'li:nth-child(3) > a[title="T-shirts"]' 4 | ITEM_NAME_LBL = '[itemprop="name"]' 5 | ADD_TO_CART_BTN = '#add_to_cart' 6 | PROCEED_TO_CHECKOUT_BTN = '[title="Proceed to checkout"]' 7 | SECOND_CART_STEP_BTN = 'p > a.button.btn.btn-default.standard-checkout.button-medium' 8 | TERMS_CHECKBOX = '[name="cgv"]' 9 | PAY_WITH_BANK_BTN = '[title="Pay by bank wire"]' 10 | CONFIRM_ORDER_BTN = '#cart_navigation > button' 11 | PROFILE_BTN = '[title="View my customer account"]' 12 | ORDERS_BTN = '[title="Orders"]' 13 | ORDER_ROW = '#order-list > tbody > tr' 14 | -------------------------------------------------------------------------------- /pylenium.json: -------------------------------------------------------------------------------- 1 | { 2 | "driver": { 3 | "browser": "chrome", 4 | "remote_url": "", 5 | "wait_time": 10, 6 | "page_load_wait_time": 0, 7 | "options": [], 8 | "capabilities": {}, 9 | "version": "latest", 10 | "experimental_options": null, 11 | "extension_paths": [], 12 | "webdriver_kwargs": {}, 13 | "local_path": "" 14 | }, 15 | "logging": { 16 | "screenshots_on": true 17 | }, 18 | "viewport": { 19 | "maximize": true, 20 | "width": 1440, 21 | "height": 900, 22 | "orientation": "portrait" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | allure-pytest 2 | allure-python-commons 3 | httpx~=0.19.0 4 | playwright==1.15.0 5 | pytest~=6.2.5 6 | pytest-asyncio 7 | pylint-fail-under 8 | pytest-xdist 9 | pytest-bdd~=4.1.0 10 | pytest-factoryboy 11 | pytest-cov 12 | pytest-rerunfailures 13 | playwright-stealth 14 | pytest-playwright 15 | pytest-playwright-snapshot 16 | pytest-html 17 | pytest-html-reporter 18 | pytest-metadata 19 | pytest-order 20 | simplejson~=3.17.5 21 | pathlib~=1.0.1 22 | py~=1.10.0 23 | pytest-reportportal 24 | pyleniumio 25 | screenpy 26 | selenium -------------------------------------------------------------------------------- /screen_play/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/__init__.py -------------------------------------------------------------------------------- /screen_play/questions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/questions/__init__.py -------------------------------------------------------------------------------- /screen_play/tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/tasks/__init__.py -------------------------------------------------------------------------------- /screen_play/tasks/docs_page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/tasks/docs_page/__init__.py -------------------------------------------------------------------------------- /screen_play/tasks/github_page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/tasks/github_page/__init__.py -------------------------------------------------------------------------------- /screen_play/ui/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/ui/__init__.py -------------------------------------------------------------------------------- /screen_play/ui/docs_page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/ui/docs_page/__init__.py -------------------------------------------------------------------------------- /screen_play/ui/docs_page/abilities_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Abilities docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/abilities.html" 8 | 9 | UP_NEXT_LINK = Target.the('Abilities "Up Next" link').located_by( 10 | "#up-next a.reference" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/actions_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Actions docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/actions.html" 8 | 9 | UP_NEXT_LINK = Target.the('Actions "Up Next" link').located_by( 10 | "#up-next a.reference" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/actors_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Actors docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/actors.html" 8 | 9 | UP_NEXT_LINK = Target.the('Actors "Up Next" link').located_by( 10 | "#up-next a.reference" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/docs_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's ReadTheDocs homepage. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/" 8 | 9 | WELCOME_MESSAGE = Target.the("welcome message").located_by( 10 | "#welcome-to-screenpy-s-documentation>h1" 11 | ) 12 | GUIDED_TOUR_LINK = Target.the('homepage "Guided Tour" link').located_by( 13 | '#guided-tour a[href*="actors.html"]' 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/questions_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Questions docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/questions.html" 8 | 9 | UP_NEXT_LINK = Target.the('Questions "Up Next" link').located_by( 10 | "#up-next a.reference" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/resolutions_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Resolutions docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/resolutions.html" 8 | 9 | UP_NEXT_SECTION = Target.the('"Up Next" section').located_by( 10 | "#up-next" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/docs_page/targets_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators and the URL for ScreenPy's Targets docs page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | URL = "https://screenpy-docs.readthedocs.io/en/latest/topics/targets.html" 8 | 9 | UP_NEXT_LINK = Target.the('Targets "Up Next" link').located_by( 10 | "#up-next a.reference" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /screen_play/ui/github_page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/screen_play/ui/github_page/__init__.py -------------------------------------------------------------------------------- /screen_play/ui/github_page/github_header_bar.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators for elements in the GitHub header bar. 3 | """ 4 | from screenpy import Target 5 | 6 | SEARCH_INPUT = Target.the("Github header's search input").located_by( 7 | "input.header-search-input" 8 | ) -------------------------------------------------------------------------------- /screen_play/ui/github_page/github_home_page.py: -------------------------------------------------------------------------------- 1 | 2 | URL = "https://github.com" 3 | -------------------------------------------------------------------------------- /screen_play/ui/github_page/github_search_result_page.py: -------------------------------------------------------------------------------- 1 | """ 2 | Locators for the GitHub search results page. 3 | """ 4 | 5 | from screenpy import Target 6 | 7 | RESULTS_MESSAGE = Target.the("search results message").located_by( 8 | "div.codesearch-results > div > div > h3" # ew 9 | ) 10 | SEARCH_RESULTS = Target.the("search results items").located_by("li.repo-list-item") 11 | -------------------------------------------------------------------------------- /screen_play/ui/home_page.py: -------------------------------------------------------------------------------- 1 | from screenpy import Target 2 | from selenium.webdriver.common.by import By 3 | 4 | # URL = "http://172.17.162.166:35041/" 5 | 6 | URL = "/" 7 | 8 | HOME_PAGE_MESSAGE = Target.the("home page message").located_by( 9 | "div.next-form-item-control > button > span" 10 | ) 11 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/tests/__init__.py -------------------------------------------------------------------------------- /tests/features/shop/shop_order_t_shirt.feature: -------------------------------------------------------------------------------- 1 | @hotlink @shop 2 | Feature: As a new user, 3 | I want to be order a t-shirt, 4 | In order to buy a t-shirt, I must register my account 5 | 6 | Background: 7 | Given Sean 打开网站首页 8 | 9 | Scenario: 我按照购物流程进行下单, 新用户注册等操作 10 | Given Sean 打开了T-shirt 分类 11 | And Sean 选了一件T-shirt加入购物车并进行下一步 12 | And Sean 作为新用户需要注册 13 | And Sean 完成了下单 14 | When Sean 查看个人资料订单页面 15 | Then Sean 发现订单显示丢失 16 | 17 | 18 | Scenario: 进入首页后, 查看附件数量 19 | Then 发现附件数量异常 -------------------------------------------------------------------------------- /tests/step_definition/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/tests/step_definition/__init__.py -------------------------------------------------------------------------------- /tests/step_definition/shop/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/tests/step_definition/shop/__init__.py -------------------------------------------------------------------------------- /tests/test_login_page.py: -------------------------------------------------------------------------------- 1 | from screenpy import Actor, given, then, when 2 | from screenpy.actions import Open, See, Wait 3 | from screenpy.pacing import act, scene 4 | from screenpy.questions import Text 5 | from screenpy.resolutions import ContainsTheText 6 | 7 | from screen_play.ui import home_page 8 | 9 | 10 | @act("Login") 11 | @scene("Open NewMonitor Login Page") 12 | def test_login_home_page(Sean: Actor) -> None: 13 | 14 | given(Sean).was_able_to(Open.their_browser_on(home_page.URL)) 15 | 16 | when(Sean).attempts_to( 17 | Wait.for_the(home_page.HOME_PAGE_MESSAGE).to_appear(), 18 | ) 19 | 20 | then(Sean).should( 21 | See.the(Text.of_the(home_page.HOME_PAGE_MESSAGE), ContainsTheText("登录")) 22 | ) 23 | 24 | 25 | -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/utils/__init__.py -------------------------------------------------------------------------------- /utils/api_helper/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/utils/api_helper/__init__.py -------------------------------------------------------------------------------- /utils/api_helper/api_helper.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author : sean 3 | # @File : api_helper.py 4 | from utils.api_helper.api_abilities import ApiAbilities 5 | 6 | 7 | def authenticate(base_url: str, user) -> None: 8 | _data = user 9 | _url = f'/Account/v1/Login' 10 | 11 | response = ApiAbilities().requests(host=base_url, url=_url, method='POST', data=_data) 12 | 13 | if response.status_code == 200: 14 | return response.json() 15 | 16 | 17 | -------------------------------------------------------------------------------- /utils/bdd_helper.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author : sean 3 | # @File : bdd_helper.py 4 | import os.path 5 | from utils.constant import Constant 6 | 7 | 8 | class BddHelper(object): 9 | 10 | @staticmethod 11 | def get_feature_path(path): 12 | feature_path = Constant.FEATURE_DIR 13 | return os.path.join(feature_path, path) 14 | -------------------------------------------------------------------------------- /utils/constant.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | 4 | class Constant: 5 | # 工作空间根目录 6 | BASE_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) 7 | 8 | # page_objects 9 | PAGE_OBJECTS_DIR = os.path.join(BASE_DIR, "page_objects") 10 | 11 | # config 12 | CONFIG_DIR = os.path.join(BASE_DIR, "config") 13 | 14 | # resource 15 | RESOURCE_DIR = os.path.join(BASE_DIR, "resource") 16 | 17 | # testcases 18 | CASES_DIR = os.path.join(BASE_DIR, "tests") 19 | 20 | # features 21 | FEATURE_DIR = os.path.join(CASES_DIR, "features") 22 | 23 | # utils 24 | UTILS_DIR = os.path.join(BASE_DIR, "utils") 25 | 26 | # allure-report 27 | REPORT_DIR = os.path.join(BASE_DIR, "allure-report") -------------------------------------------------------------------------------- /venv/bin/easy_install: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from setuptools.command.easy_install import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/easy_install-3.8: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from setuptools.command.easy_install import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/epylint: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pylint import run_epylint 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(run_epylint()) 9 | -------------------------------------------------------------------------------- /venv/bin/isort: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from isort.main import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/pip: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pip._internal.cli.main import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/pip3: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pip._internal.cli.main import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/pip3.8: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pip._internal.cli.main import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/py.test: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pytest import console_main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(console_main()) 9 | -------------------------------------------------------------------------------- /venv/bin/pylint: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pylint import run_pylint 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(run_pylint()) 9 | -------------------------------------------------------------------------------- /venv/bin/pylint-fail-under: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pylint_fail_under.__main__ import main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(main()) 9 | -------------------------------------------------------------------------------- /venv/bin/pyreverse: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pylint import run_pyreverse 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(run_pyreverse()) 9 | -------------------------------------------------------------------------------- /venv/bin/pytest: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pytest import console_main 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(console_main()) 9 | -------------------------------------------------------------------------------- /venv/bin/python: -------------------------------------------------------------------------------- 1 | python3.8 -------------------------------------------------------------------------------- /venv/bin/python3: -------------------------------------------------------------------------------- 1 | python3.8 -------------------------------------------------------------------------------- /venv/bin/python3.8: -------------------------------------------------------------------------------- 1 | /usr/local/bin/python3.8 -------------------------------------------------------------------------------- /venv/bin/symilar: -------------------------------------------------------------------------------- 1 | #!/Users/sean.yu/Downloads/playwright_python_practice-master/venv/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from pylint import run_symilar 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(run_symilar()) 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_distutils_hack/override.py: -------------------------------------------------------------------------------- 1 | __import__('_distutils_hack').do_override() 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["__version__"] 2 | 3 | try: 4 | from ._version import version as __version__ 5 | except ImportError: 6 | # broken installation, we don't even try 7 | # unknown only works because we do poor mans version compare 8 | __version__ = "unknown" 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/_code/__init__.py: -------------------------------------------------------------------------------- 1 | """Python inspection/code generation API.""" 2 | from .code import Code 3 | from .code import ExceptionInfo 4 | from .code import filter_traceback 5 | from .code import Frame 6 | from .code import getfslineno 7 | from .code import Traceback 8 | from .code import TracebackEntry 9 | from .source import getrawcode 10 | from .source import Source 11 | 12 | __all__ = [ 13 | "Code", 14 | "ExceptionInfo", 15 | "filter_traceback", 16 | "Frame", 17 | "getfslineno", 18 | "getrawcode", 19 | "Traceback", 20 | "TracebackEntry", 21 | "Source", 22 | ] 23 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/_io/__init__.py: -------------------------------------------------------------------------------- 1 | from .terminalwriter import get_terminal_width 2 | from .terminalwriter import TerminalWriter 3 | 4 | 5 | __all__ = [ 6 | "TerminalWriter", 7 | "get_terminal_width", 8 | ] 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '6.2.2' 5 | version_tuple = (6, 2, 2) 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/config/exceptions.py: -------------------------------------------------------------------------------- 1 | from _pytest.compat import final 2 | 3 | 4 | @final 5 | class UsageError(Exception): 6 | """Error in pytest usage or invocation.""" 7 | 8 | 9 | class PrintHelp(Exception): 10 | """Raised when pytest should print its help to skip the rest of the 11 | argument parsing and validation.""" 12 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/_pytest/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/_pytest/timing.py: -------------------------------------------------------------------------------- 1 | """Indirection for time functions. 2 | 3 | We intentionally grab some "time" functions internally to avoid tests mocking "time" to affect 4 | pytest runtime information (issue #185). 5 | 6 | Fixture "mock_timing" also interacts with this module for pytest's own tests. 7 | """ 8 | from time import perf_counter 9 | from time import sleep 10 | from time import time 11 | 12 | __all__ = ["perf_counter", "sleep", "time"] 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_commons/__init__.py: -------------------------------------------------------------------------------- 1 | from allure_commons._hooks import hookimpl # noqa: F401 2 | from allure_commons._core import plugin_manager # noqa: F401 3 | from allure_commons._allure import fixture # noqa: F401 4 | from allure_commons._allure import test # noqa: F401 5 | 6 | 7 | __all__ = [ 8 | 'hookimpl', 9 | 'plugin_manager', 10 | 'fixture', 11 | 'test' 12 | ] 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [pytest11] 2 | allure_pytest = allure_pytest.plugin 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest-2.8.32.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | allure_pytest 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_pytest/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/allure_pytest/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_python_commons-2.8.32.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_python_commons-2.8.32.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/allure_python_commons-2.8.32.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | allure 2 | allure_commons 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/apipkg-1.5.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/apipkg-1.5.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | apipkg-1.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | apipkg-1.5.dist-info/METADATA,sha256=tIG1DSBzSeqmSRpOKHSEBmT1eOPdK8xK01xAIADuks4,3800 3 | apipkg-1.5.dist-info/RECORD,, 4 | apipkg-1.5.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 5 | apipkg-1.5.dist-info/top_level.txt,sha256=3TGS6nmN7kjxhUK4LpPCB3QkQI34QYGrT0ZQGWajoZ8,7 6 | apipkg/__init__.py,sha256=VogR4mDwYmeOdJnjGi-RoMB1qJnD6_puDYj_nRolzhM,6707 7 | apipkg/__pycache__/__init__.cpython-38.pyc,, 8 | apipkg/__pycache__/version.cpython-38.pyc,, 9 | apipkg/version.py,sha256=YN6DnKyEPqjDAauJuwJRG9vlKbWVLd9gAbH7mkQXXNo,114 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/apipkg-1.5.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.31.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/apipkg-1.5.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | apipkg 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/apipkg/version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.5' 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid-2.4.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid-2.4.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.34.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid-2.4.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | astroid 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid/brain/brain_numpy_core_fromnumeric.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 hippo91 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | 7 | """Astroid hooks for numpy.core.fromnumeric module.""" 8 | 9 | import astroid 10 | 11 | 12 | def numpy_core_fromnumeric_transform(): 13 | return astroid.parse( 14 | """ 15 | def sum(a, axis=None, dtype=None, out=None, keepdims=None, initial=None): 16 | return numpy.ndarray([0, 0]) 17 | """ 18 | ) 19 | 20 | 21 | astroid.register_module_extender( 22 | astroid.MANAGER, "numpy.core.fromnumeric", numpy_core_fromnumeric_transform 23 | ) 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid/brain/brain_uuid.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017-2018 Claudiu Popa 2 | 3 | # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 4 | # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER 5 | 6 | """Astroid hooks for the UUID module.""" 7 | 8 | 9 | from astroid import MANAGER 10 | from astroid import nodes 11 | 12 | 13 | def _patch_uuid_class(node): 14 | # The .int member is patched using __dict__ 15 | node.locals["int"] = [nodes.Const(0, parent=node)] 16 | 17 | 18 | MANAGER.register_transform( 19 | nodes.ClassDef, _patch_uuid_class, lambda node: node.qname() == "uuid.UUID" 20 | ) 21 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid/interpreter/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/astroid/interpreter/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid/interpreter/_import/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/astroid/interpreter/_import/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/astroid/interpreter/_import/util.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, 2018 Claudiu Popa 2 | 3 | try: 4 | import pkg_resources 5 | except ImportError: 6 | pkg_resources = None 7 | 8 | 9 | def is_namespace(modname): 10 | return pkg_resources is not None and modname in pkg_resources._namespace_packages 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/_config.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, print_function 2 | 3 | 4 | __all__ = ["set_run_validators", "get_run_validators"] 5 | 6 | _run_validators = True 7 | 8 | 9 | def set_run_validators(run): 10 | """ 11 | Set whether or not validators are run. By default, they are run. 12 | """ 13 | if not isinstance(run, bool): 14 | raise TypeError("'run' must be bool.") 15 | global _run_validators 16 | _run_validators = run 17 | 18 | 19 | def get_run_validators(): 20 | """ 21 | Return whether or not validators are run. 22 | """ 23 | return _run_validators 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/_version_info.pyi: -------------------------------------------------------------------------------- 1 | class VersionInfo: 2 | @property 3 | def year(self) -> int: ... 4 | @property 5 | def minor(self) -> int: ... 6 | @property 7 | def micro(self) -> int: ... 8 | @property 9 | def releaselevel(self) -> str: ... 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/converters.pyi: -------------------------------------------------------------------------------- 1 | from typing import TypeVar, Optional, Callable, overload 2 | from . import _ConverterType 3 | 4 | _T = TypeVar("_T") 5 | 6 | def pipe(*validators: _ConverterType) -> _ConverterType: ... 7 | def optional(converter: _ConverterType) -> _ConverterType: ... 8 | @overload 9 | def default_if_none(default: _T) -> _ConverterType: ... 10 | @overload 11 | def default_if_none(*, factory: Callable[[], _T]) -> _ConverterType: ... 12 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/exceptions.pyi: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | 3 | class FrozenError(AttributeError): 4 | msg: str = ... 5 | 6 | class FrozenInstanceError(FrozenError): ... 7 | class FrozenAttributeError(FrozenError): ... 8 | class AttrsAttributeNotFoundError(ValueError): ... 9 | class NotAnAttrsClassError(ValueError): ... 10 | class DefaultAlreadySetError(RuntimeError): ... 11 | class UnannotatedAttributeError(RuntimeError): ... 12 | class PythonTooOldError(RuntimeError): ... 13 | 14 | class NotCallableError(TypeError): 15 | msg: str = ... 16 | value: Any = ... 17 | def __init__(self, msg: str, value: Any) -> None: ... 18 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/filters.pyi: -------------------------------------------------------------------------------- 1 | from typing import Union, Any 2 | from . import Attribute, _FilterType 3 | 4 | def include(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... 5 | def exclude(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/attr/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attr/setters.pyi: -------------------------------------------------------------------------------- 1 | from . import _OnSetAttrType, Attribute 2 | from typing import TypeVar, Any, NewType, NoReturn, cast 3 | 4 | _T = TypeVar("_T") 5 | 6 | def frozen( 7 | instance: Any, attribute: Attribute, new_value: Any 8 | ) -> NoReturn: ... 9 | def pipe(*setters: _OnSetAttrType) -> _OnSetAttrType: ... 10 | def validate(instance: Any, attribute: Attribute[_T], new_value: _T) -> _T: ... 11 | 12 | # convert is allowed to return Any, because they can be chained using pipe. 13 | def convert( 14 | instance: Any, attribute: Attribute[Any], new_value: Any 15 | ) -> Any: ... 16 | 17 | _NoOpType = NewType("_NoOpType", object) 18 | NO_OP: _NoOpType 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attrs-20.3.0.dist-info/AUTHORS.rst: -------------------------------------------------------------------------------- 1 | Credits 2 | ======= 3 | 4 | ``attrs`` is written and maintained by `Hynek Schlawack `_. 5 | 6 | The development is kindly supported by `Variomedia AG `_. 7 | 8 | A full list of contributors can be found in `GitHub's overview `_. 9 | 10 | It’s the spiritual successor of `characteristic `_ and aspires to fix some of it clunkiness and unfortunate decisions. 11 | Both were inspired by Twisted’s `FancyEqMixin `_ but both are implemented using class decorators because `subclassing is bad for you `_, m’kay? 12 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attrs-20.3.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attrs-20.3.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/attrs-20.3.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | attr 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/distutils-precedence.pth: -------------------------------------------------------------------------------- 1 | import os; var = 'SETUPTOOLS_USE_DISTUTILS'; enabled = os.environ.get(var, 'stdlib') == 'local'; enabled and __import__('_distutils_hack').add_shim(); 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/easy_install.py: -------------------------------------------------------------------------------- 1 | """Run the EasyInstall command""" 2 | 3 | if __name__ == '__main__': 4 | from setuptools.command.easy_install import main 5 | main() 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet-1.7.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet-1.7.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet-1.7.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | execnet 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.7.1' 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet/script/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet/script/loop_socketserver.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import os 3 | import subprocess 4 | import sys 5 | 6 | if __name__ == "__main__": 7 | directory = os.path.dirname(os.path.abspath(sys.argv[0])) 8 | script = os.path.join(directory, "socketserver.py") 9 | while 1: 10 | cmdlist = ["python", script] 11 | cmdlist.extend(sys.argv[1:]) 12 | text = "starting subcommand: " + " ".join(cmdlist) 13 | print(text) 14 | process = subprocess.Popen(cmdlist) 15 | process.wait() 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet/script/quitserver.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | 4 | send a "quit" signal to a remote server 5 | 6 | """ 7 | import socket 8 | import sys 9 | 10 | hostport = sys.argv[1] 11 | host, port = hostport.split(":") 12 | hostport = (host, int(port)) 13 | 14 | sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 15 | sock.connect(hostport) 16 | sock.sendall('"raise KeyboardInterrupt"\n') 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/execnet/script/xx.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import sys 3 | 4 | import register 5 | import rlcompleter2 6 | 7 | rlcompleter2.setup() 8 | 9 | try: 10 | hostport = sys.argv[1] 11 | except: 12 | hostport = ":8888" 13 | gw = register.ServerGateway(hostport) 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet-1.0a1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet-1.0a1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: false 4 | Tag: cp38-cp38-macosx_10_9_x86_64 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet-1.0a1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | greenlet 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/_greenlet.cpython-38-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/greenlet/_greenlet.cpython-38-darwin.so -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/platform/setup_switch_x64_masm.cmd: -------------------------------------------------------------------------------- 1 | call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" amd64 2 | ml64 /nologo /c /Fo switch_x64_masm.obj switch_x64_masm.asm 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/platform/switch_x64_masm.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/greenlet/platform/switch_x64_masm.obj -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/greenlet/tests/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/tests/_test_extension.cpython-38-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/greenlet/tests/_test_extension.cpython-38-darwin.so -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/tests/_test_extension_cpp.cpython-38-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/greenlet/tests/_test_extension_cpp.cpython-38-darwin.so -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/tests/test_cpp.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | from __future__ import absolute_import 3 | 4 | import unittest 5 | 6 | import greenlet 7 | from . import _test_extension_cpp 8 | 9 | 10 | class CPPTests(unittest.TestCase): 11 | def test_exception_switch(self): 12 | greenlets = [] 13 | for i in range(4): 14 | g = greenlet.greenlet(_test_extension_cpp.test_exception_switch) 15 | g.switch(i) 16 | greenlets.append(g) 17 | for i, g in enumerate(greenlets): 18 | self.assertEqual(g.switch(), i) 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/greenlet/tests/test_stack_saved.py: -------------------------------------------------------------------------------- 1 | import greenlet 2 | import unittest 3 | 4 | 5 | class Test(unittest.TestCase): 6 | 7 | def test_stack_saved(self): 8 | main = greenlet.getcurrent() 9 | self.assertEqual(main._stack_saved, 0) 10 | 11 | def func(): 12 | main.switch(main._stack_saved) 13 | 14 | g = greenlet.greenlet(func) 15 | x = g.switch() 16 | assert x > 0, x 17 | assert g._stack_saved > 0, g._stack_saved 18 | g.switch() 19 | assert g._stack_saved == 0, g._stack_saved 20 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/iniconfig-1.1.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/iniconfig-1.1.1.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | iniconfig-1.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | iniconfig-1.1.1.dist-info/LICENSE,sha256=KvaAw570k_uCgwNW0dPfGstaBgM8ui3sehniHKp3qGY,1061 3 | iniconfig-1.1.1.dist-info/METADATA,sha256=_4-oFKpRXuZv5rzepScpXRwhq6DzqsgbnA5ZpgMUMcs,2405 4 | iniconfig-1.1.1.dist-info/RECORD,, 5 | iniconfig-1.1.1.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110 6 | iniconfig-1.1.1.dist-info/top_level.txt,sha256=7KfM0fugdlToj9UW7enKXk2HYALQD8qHiyKtjhSzgN8,10 7 | iniconfig/__init__.py,sha256=-pBe5AF_6aAwo1CxJQ8i_zJq6ejc6IxHta7qk2tNJhY,5208 8 | iniconfig/__init__.pyi,sha256=-4KOctzq28ohRmTZsqlH6aylyFqsNKxYqtk1dteypi4,1205 9 | iniconfig/__pycache__/__init__.cpython-38.pyc,, 10 | iniconfig/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/iniconfig-1.1.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/iniconfig-1.1.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | iniconfig 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/iniconfig/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/iniconfig/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort-5.6.4.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort-5.6.4.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: poetry 1.0.5 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort-5.6.4.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | isort=isort.main:main 3 | 4 | [distutils.commands] 5 | isort=isort.main:ISortCommand 6 | 7 | [pylama.linter] 8 | isort=isort.pylama_isort:Linter 9 | 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/__init__.py: -------------------------------------------------------------------------------- 1 | """Defines the public isort interface""" 2 | from . import settings 3 | from ._version import __version__ 4 | from .api import check_code_string as check_code 5 | from .api import check_file, check_stream, place_module, place_module_with_reason 6 | from .api import sort_code_string as code 7 | from .api import sort_file as file 8 | from .api import sort_stream as stream 9 | from .settings import Config 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/__main__.py: -------------------------------------------------------------------------------- 1 | from isort.main import main 2 | 3 | main() 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/_future/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | if sys.version_info.major <= 3 and sys.version_info.minor <= 6: 4 | from . import _dataclasses as dataclasses # type: ignore 5 | 6 | else: 7 | import dataclasses # type: ignore 8 | 9 | dataclass = dataclasses.dataclass # type: ignore 10 | field = dataclasses.field # type: ignore 11 | 12 | __all__ = ["dataclasses", "dataclass", "field"] 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/_vendored/toml/ordered.py: -------------------------------------------------------------------------------- 1 | from collections import OrderedDict 2 | 3 | from . import TomlDecoder, TomlEncoder 4 | 5 | 6 | class TomlOrderedDecoder(TomlDecoder): 7 | def __init__(self): 8 | super(self.__class__, self).__init__(_dict=OrderedDict) 9 | 10 | 11 | class TomlOrderedEncoder(TomlEncoder): 12 | def __init__(self): 13 | super(self.__class__, self).__init__(_dict=OrderedDict) 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/_vendored/toml/tz.py: -------------------------------------------------------------------------------- 1 | from datetime import timedelta, tzinfo 2 | 3 | 4 | class TomlTz(tzinfo): 5 | def __init__(self, toml_offset): 6 | if toml_offset == "Z": 7 | self._raw_offset = "+00:00" 8 | else: 9 | self._raw_offset = toml_offset 10 | self._sign = -1 if self._raw_offset[0] == "-" else 1 11 | self._hours = int(self._raw_offset[1:3]) 12 | self._minutes = int(self._raw_offset[4:6]) 13 | 14 | def tzname(self, dt): 15 | return "UTC" + self._raw_offset 16 | 17 | def utcoffset(self, dt): 18 | return self._sign * timedelta(hours=self._hours, minutes=self._minutes) 19 | 20 | def dst(self, dt): 21 | return timedelta(0) 22 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/_version.py: -------------------------------------------------------------------------------- 1 | __version__ = "5.6.4" 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/deprecated/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/isort/deprecated/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/logo.py: -------------------------------------------------------------------------------- 1 | from ._version import __version__ 2 | 3 | ASCII_ART = rf""" 4 | _ _ 5 | (_) ___ ___ _ __| |_ 6 | | |/ _/ / _ \/ '__ _/ 7 | | |\__ \/\_\/| | | |_ 8 | |_|\___/\___/\_/ \_/ 9 | 10 | isort your imports, so you don't have to. 11 | 12 | VERSION {__version__} 13 | """ 14 | 15 | __doc__ = f""" 16 | ```python 17 | {ASCII_ART} 18 | ``` 19 | """ 20 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/sections.py: -------------------------------------------------------------------------------- 1 | """Defines all sections isort uses by default""" 2 | from typing import Tuple 3 | 4 | FUTURE: str = "FUTURE" 5 | STDLIB: str = "STDLIB" 6 | THIRDPARTY: str = "THIRDPARTY" 7 | FIRSTPARTY: str = "FIRSTPARTY" 8 | LOCALFOLDER: str = "LOCALFOLDER" 9 | DEFAULT: Tuple[str, ...] = (FUTURE, STDLIB, THIRDPARTY, FIRSTPARTY, LOCALFOLDER) 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/stdlibs/__init__.py: -------------------------------------------------------------------------------- 1 | from . import all, py2, py3, py27, py35, py36, py37, py38, py39 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/stdlibs/all.py: -------------------------------------------------------------------------------- 1 | from . import py2, py3 2 | 3 | stdlib = py2.stdlib | py3.stdlib 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/stdlibs/py2.py: -------------------------------------------------------------------------------- 1 | from . import py27 2 | 3 | stdlib = py27.stdlib 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/stdlibs/py3.py: -------------------------------------------------------------------------------- 1 | from . import py35, py36, py37, py38, py39 2 | 3 | stdlib = py35.stdlib | py36.stdlib | py37.stdlib | py38.stdlib | py39.stdlib 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/isort/utils.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | 4 | 5 | def exists_case_sensitive(path: str) -> bool: 6 | """Returns if the given path exists and also matches the case on Windows. 7 | 8 | When finding files that can be imported, it is important for the cases to match because while 9 | file os.path.exists("module.py") and os.path.exists("MODULE.py") both return True on Windows, 10 | Python can only import using the case of the real file. 11 | """ 12 | result = os.path.exists(path) 13 | if (sys.platform.startswith("win") or sys.platform == "darwin") and result: # pragma: no cover 14 | directory, basename = os.path.split(path) 15 | result = basename in os.listdir(directory) 16 | return result 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy-1.4.3.dist-info/AUTHORS.rst: -------------------------------------------------------------------------------- 1 | 2 | Authors 3 | ======= 4 | 5 | * Ionel Cristian Mărieș - https://blog.ionelmc.ro 6 | * Alvin Chow - https://github.com/alvinchow86 7 | * Astrum Kuo - https://github.com/xowenx 8 | * Erik M. Bray - http://iguananaut.net 9 | * Ran Benita - https://github.com/bluetech 10 | * "hugovk" - https://github.com/hugovk 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy-1.4.3.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy-1.4.3.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: false 4 | Tag: cp38-cp38-macosx_10_9_x86_64 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy-1.4.3.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | lazy_object_proxy 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy/__init__.py: -------------------------------------------------------------------------------- 1 | try: 2 | import copy_reg as copyreg 3 | except ImportError: 4 | import copyreg 5 | 6 | from .utils import identity 7 | 8 | copyreg.constructor(identity) 9 | 10 | try: 11 | from .cext import Proxy 12 | from .cext import identity 13 | except ImportError: 14 | from .slots import Proxy 15 | else: 16 | copyreg.constructor(identity) 17 | 18 | try: 19 | from ._version import version as __version__ 20 | except ImportError: 21 | __version__ = '1.4.3' 22 | 23 | __all__ = "Proxy", 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.4.3' 5 | version_tuple = (1, 4, 3) 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy/cext.cpython-38-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/lazy_object_proxy/cext.cpython-38-darwin.so -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy/compat.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | PY2 = sys.version_info[0] == 2 4 | PY3 = sys.version_info[0] == 3 5 | 6 | 7 | def with_metaclass(meta, *bases): 8 | """Create a base class with a metaclass.""" 9 | return meta("NewBase", bases, {}) 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/lazy_object_proxy/utils.py: -------------------------------------------------------------------------------- 1 | def identity(obj): 2 | return obj 3 | 4 | 5 | class cached_property(object): 6 | def __init__(self, func): 7 | self.func = func 8 | 9 | def __get__(self, obj, cls): 10 | if obj is None: 11 | return self 12 | value = obj.__dict__[self.func.__name__] = self.func(obj) 13 | return value 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/mccabe-0.6.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/mccabe-0.6.1.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/mccabe.cpython-38.pyc,, 2 | mccabe-0.6.1.dist-info/DESCRIPTION.rst,sha256=lGHJ-Y3IviuP3DRqLL_TXPUr3wJ2GZ8XJkAV6ve3O58,3302 3 | mccabe-0.6.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 4 | mccabe-0.6.1.dist-info/METADATA,sha256=jawnTfTVrlzBSmeI-cTXSRIwIlijODtZdj-padBqIv0,4324 5 | mccabe-0.6.1.dist-info/RECORD,, 6 | mccabe-0.6.1.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 7 | mccabe-0.6.1.dist-info/entry_points.txt,sha256=N2NH182GXTUyTm8r8XMgadb9C-CRa5dUr1k8OC91uGE,47 8 | mccabe-0.6.1.dist-info/metadata.json,sha256=e508OR4t6_G7h7eO2C6NHlHQqVpPZZH1_DlAPrVECYM,1218 9 | mccabe-0.6.1.dist-info/top_level.txt,sha256=21cXuqZE-lpcfAqqANvX9EjI1ED1p8zcViv064u3RKA,7 10 | mccabe.py,sha256=XPMywdQshG_5nSjckb-OzNqnCQuXQvy3FTClspKwGQA,10693 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/mccabe-0.6.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.29.0) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/mccabe-0.6.1.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [flake8.extension] 2 | C90 = mccabe:McCabeChecker 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/mccabe-0.6.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | mccabe 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging-20.8.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging-20.8.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | This software is made available under the terms of *either* of the licenses 2 | found in LICENSE.APACHE or LICENSE.BSD. Contributions to this software is made 3 | under the terms of *both* these licenses. 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging-20.8.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging-20.8.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | packaging 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/packaging/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/packaging/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip-20.3.3.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip-20.3.3.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip-20.3.3.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | pip = pip._internal.cli.main:main 3 | pip3 = pip._internal.cli.main:main 4 | pip3.8 = pip._internal.cli.main:main 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip-20.3.3.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/__init__.py: -------------------------------------------------------------------------------- 1 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 2 | 3 | if MYPY_CHECK_RUNNING: 4 | from typing import List, Optional 5 | 6 | 7 | __version__ = "20.3.3" 8 | 9 | 10 | def main(args=None): 11 | # type: (Optional[List[str]]) -> int 12 | """This is an internal API only meant for use by pip's own console scripts. 13 | 14 | For additional details, see https://github.com/pypa/pip/issues/7498. 15 | """ 16 | from pip._internal.utils.entrypoints import _wrapper 17 | 18 | return _wrapper(args) 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/__init__.py: -------------------------------------------------------------------------------- 1 | import pip._internal.utils.inject_securetransport # noqa 2 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 3 | 4 | if MYPY_CHECK_RUNNING: 5 | from typing import List, Optional 6 | 7 | 8 | def main(args=None): 9 | # type: (Optional[List[str]]) -> int 10 | """This is preserved for old console scripts that may still be referencing 11 | it. 12 | 13 | For additional details, see https://github.com/pypa/pip/issues/7498. 14 | """ 15 | from pip._internal.utils.entrypoints import _wrapper 16 | 17 | return _wrapper(args) 18 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py: -------------------------------------------------------------------------------- 1 | """Subpackage containing all of pip's command line interface related code 2 | """ 3 | 4 | # This file intentionally does not import submodules 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | SUCCESS = 0 4 | ERROR = 1 5 | UNKNOWN_ERROR = 2 6 | VIRTUALENV_NOT_FOUND = 3 7 | PREVIOUS_BUILD_DIR_ERROR = 4 8 | NO_MATCHES_FOUND = 23 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py: -------------------------------------------------------------------------------- 1 | """Index interaction code 2 | """ 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/main.py: -------------------------------------------------------------------------------- 1 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 2 | 3 | if MYPY_CHECK_RUNNING: 4 | from typing import List, Optional 5 | 6 | 7 | def main(args=None): 8 | # type: (Optional[List[str]]) -> int 9 | """This is preserved for old console scripts that may still be referencing 10 | it. 11 | 12 | For additional details, see https://github.com/pypa/pip/issues/7498. 13 | """ 14 | from pip._internal.utils.entrypoints import _wrapper 15 | 16 | return _wrapper(args) 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py: -------------------------------------------------------------------------------- 1 | """A package that contains models that represent entities. 2 | """ 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py: -------------------------------------------------------------------------------- 1 | """Contains purely network-related utilities. 2 | """ 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py: -------------------------------------------------------------------------------- 1 | """For modules related to installing packages. 2 | """ 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/resolution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/resolution/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/resolution/base.py: -------------------------------------------------------------------------------- 1 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 2 | 3 | if MYPY_CHECK_RUNNING: 4 | from typing import Callable, List 5 | 6 | from pip._internal.req.req_install import InstallRequirement 7 | from pip._internal.req.req_set import RequirementSet 8 | 9 | InstallRequirementProvider = Callable[ 10 | [str, InstallRequirement], InstallRequirement 11 | ] 12 | 13 | 14 | class BaseResolver(object): 15 | def resolve(self, root_reqs, check_supported_wheels): 16 | # type: (List[InstallRequirement], bool) -> RequirementSet 17 | raise NotImplementedError() 18 | 19 | def get_installation_order(self, req_set): 20 | # type: (RequirementSet) -> List[InstallRequirement] 21 | raise NotImplementedError() 22 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/utils/datetime.py: -------------------------------------------------------------------------------- 1 | """For when pip wants to check the date or time. 2 | """ 3 | 4 | from __future__ import absolute_import 5 | 6 | import datetime 7 | 8 | 9 | def today_is_later_than(year, month, day): 10 | # type: (int, int, int) -> bool 11 | today = datetime.date.today() 12 | given = datetime.date(year, month, day) 13 | 14 | return today > given 15 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py: -------------------------------------------------------------------------------- 1 | # Expose a limited set of classes and functions so callers outside of 2 | # the vcs package don't need to import deeper than `pip._internal.vcs`. 3 | # (The test directory and imports protected by MYPY_CHECK_RUNNING may 4 | # still need to import from a vcs sub-package.) 5 | # Import all vcs modules to register each VCS in the VcsSupport object. 6 | import pip._internal.vcs.bazaar 7 | import pip._internal.vcs.git 8 | import pip._internal.vcs.mercurial 9 | import pip._internal.vcs.subversion # noqa: F401 10 | from pip._internal.vcs.versioncontrol import ( # noqa: F401 11 | RemoteNotFoundError, 12 | is_url, 13 | make_vcs_requirement_url, 14 | vcs, 15 | ) 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__init__.py: -------------------------------------------------------------------------------- 1 | """CacheControl import Interface. 2 | 3 | Make it easy to import from cachecontrol without long namespaces. 4 | """ 5 | __author__ = "Eric Larson" 6 | __email__ = "eric@ionrock.org" 7 | __version__ = "0.12.6" 8 | 9 | from .wrapper import CacheControl 10 | from .adapter import CacheControlAdapter 11 | from .controller import CacheController 12 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__init__.py: -------------------------------------------------------------------------------- 1 | from .file_cache import FileCache # noqa 2 | from .redis_cache import RedisCache # noqa 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/certifi/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import contents, where 2 | 3 | __version__ = "2020.11.08" 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/certifi/__main__.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | from pip._vendor.certifi import contents, where 4 | 5 | parser = argparse.ArgumentParser() 6 | parser.add_argument("-c", "--contents", action="store_true") 7 | args = parser.parse_args() 8 | 9 | if args.contents: 10 | print(contents()) 11 | else: 12 | print(where()) 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/chardet/version.py: -------------------------------------------------------------------------------- 1 | """ 2 | This module exists only to simplify retrieving the version number of chardet 3 | from within setup.py and from chardet subpackages. 4 | 5 | :author: Dan Blanchard (dan.blanchard@gmail.com) 6 | """ 7 | 8 | __version__ = "3.0.4" 9 | VERSION = __version__.split('.') 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/colorama/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. 2 | from .initialise import init, deinit, reinit, colorama_text 3 | from .ansi import Fore, Back, Style, Cursor 4 | from .ansitowin32 import AnsiToWin32 5 | 6 | __version__ = '0.4.4' 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Copyright (C) 2012-2019 Vinay Sajip. 4 | # Licensed to the Python Software Foundation under a contributor agreement. 5 | # See LICENSE.txt and CONTRIBUTORS.txt. 6 | # 7 | import logging 8 | 9 | __version__ = '0.3.1' 10 | 11 | class DistlibException(Exception): 12 | pass 13 | 14 | try: 15 | from logging import NullHandler 16 | except ImportError: # pragma: no cover 17 | class NullHandler(logging.Handler): 18 | def handle(self, record): pass 19 | def emit(self, record): pass 20 | def createLock(self): self.lock = None 21 | 22 | logger = logging.getLogger(__name__) 23 | logger.addHandler(NullHandler()) 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__init__.py: -------------------------------------------------------------------------------- 1 | """Modules copied from Python 3 standard libraries, for internal use only. 2 | 3 | Individual classes and functions are found in d2._backport.misc. Intended 4 | usage is to always import things missing from 3.1 from that module: the 5 | built-in/stdlib objects will be used if found. 6 | """ 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/t32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t32.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/t64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/w32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w32.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/distlib/w64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from .py import Trie 4 | 5 | __all__ = ["Trie"] 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/base.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | 4 | class Filter(object): 5 | def __init__(self, source): 6 | self.source = source 7 | 8 | def __iter__(self): 9 | return iter(self.source) 10 | 11 | def __getattr__(self, name): 12 | return getattr(self.source, name) 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/idna/__init__.py: -------------------------------------------------------------------------------- 1 | from .package_data import __version__ 2 | from .core import * 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/idna/compat.py: -------------------------------------------------------------------------------- 1 | from .core import * 2 | from .codec import * 3 | 4 | def ToASCII(label): 5 | return encode(label) 6 | 7 | def ToUnicode(label): 8 | return decode(label) 9 | 10 | def nameprep(s): 11 | raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") 12 | 13 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/idna/package_data.py: -------------------------------------------------------------------------------- 1 | __version__ = '2.10' 2 | 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/msgpack/_version.py: -------------------------------------------------------------------------------- 1 | version = (1, 0, 0) 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/pep517/__init__.py: -------------------------------------------------------------------------------- 1 | """Wrappers to build Python packages using PEP 517 hooks 2 | """ 3 | 4 | __version__ = '0.9.1' 5 | 6 | from .wrappers import * # noqa: F401, F403 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/py31compat.py: -------------------------------------------------------------------------------- 1 | import os 2 | import errno 3 | import sys 4 | 5 | from pip._vendor import six 6 | 7 | 8 | def _makedirs_31(path, exist_ok=False): 9 | try: 10 | os.makedirs(path) 11 | except OSError as exc: 12 | if not exist_ok or exc.errno != errno.EEXIST: 13 | raise 14 | 15 | 16 | # rely on compatibility behavior until mode considerations 17 | # and exists_ok considerations are disentangled. 18 | # See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 19 | needs_makedirs = ( 20 | six.PY2 or 21 | (3, 4) <= sys.version_info < (3, 4, 1) 22 | ) 23 | makedirs = _makedirs_31 if needs_makedirs else os.makedirs 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/requests/__version__.py: -------------------------------------------------------------------------------- 1 | # .-. .-. .-. . . .-. .-. .-. .-. 2 | # |( |- |.| | | |- `-. | `-. 3 | # ' ' `-' `-`.`-' `-' `-' ' `-' 4 | 5 | __title__ = 'requests' 6 | __description__ = 'Python HTTP for Humans.' 7 | __url__ = 'https://requests.readthedocs.io' 8 | __version__ = '2.25.0' 9 | __build__ = 0x022500 10 | __author__ = 'Kenneth Reitz' 11 | __author_email__ = 'me@kennethreitz.org' 12 | __license__ = 'Apache 2.0' 13 | __copyright__ = 'Copyright 2020 Kenneth Reitz' 14 | __cake__ = u'\u2728 \U0001f370 \u2728' 15 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/requests/certs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | requests.certs 6 | ~~~~~~~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. There is 9 | only one — the one from the certifi package. 10 | 11 | If you are packaging Requests, e.g., for a Linux distribution or a managed 12 | environment, you can change the definition of where() to return a separately 13 | packaged CA bundle. 14 | """ 15 | from pip._vendor.certifi import where 16 | 17 | if __name__ == '__main__': 18 | print(where()) 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/requests/packages.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | # This code exists for backwards compatibility reasons. 4 | # I don't like it either. Just look the other way. :) 5 | 6 | for package in ('urllib3', 'idna', 'chardet'): 7 | vendored_package = "pip._vendor." + package 8 | locals()[package] = __import__(vendored_package) 9 | # This traversal is apparently necessary such that the identities are 10 | # preserved (requests.packages.urllib3.* is urllib3.*) 11 | for mod in list(sys.modules): 12 | if mod == vendored_package or mod.startswith(vendored_package + '.'): 13 | unprefixed_mod = mod[len("pip._vendor."):] 14 | sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] 15 | 16 | # Kinda cool, though, right? 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = [ 2 | "__version__", 3 | "AbstractProvider", 4 | "AbstractResolver", 5 | "BaseReporter", 6 | "InconsistentCandidate", 7 | "Resolver", 8 | "RequirementsConflicted", 9 | "ResolutionError", 10 | "ResolutionImpossible", 11 | "ResolutionTooDeep", 12 | ] 13 | 14 | __version__ = "0.5.3" 15 | 16 | 17 | from .providers import AbstractProvider, AbstractResolver 18 | from .reporters import BaseReporter 19 | from .resolvers import ( 20 | InconsistentCandidate, 21 | RequirementsConflicted, 22 | Resolver, 23 | ResolutionError, 24 | ResolutionImpossible, 25 | ResolutionTooDeep, 26 | ) 27 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py: -------------------------------------------------------------------------------- 1 | __all__ = ["Sequence"] 2 | 3 | try: 4 | from collections.abc import Sequence 5 | except ImportError: 6 | from collections import Sequence 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/toml/ordered.py: -------------------------------------------------------------------------------- 1 | from collections import OrderedDict 2 | from pip._vendor.toml import TomlEncoder 3 | from pip._vendor.toml import TomlDecoder 4 | 5 | 6 | class TomlOrderedDecoder(TomlDecoder): 7 | 8 | def __init__(self): 9 | super(self.__class__, self).__init__(_dict=OrderedDict) 10 | 11 | 12 | class TomlOrderedEncoder(TomlEncoder): 13 | 14 | def __init__(self): 15 | super(self.__class__, self).__init__(_dict=OrderedDict) 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/toml/tz.py: -------------------------------------------------------------------------------- 1 | from datetime import tzinfo, timedelta 2 | 3 | 4 | class TomlTz(tzinfo): 5 | def __init__(self, toml_offset): 6 | if toml_offset == "Z": 7 | self._raw_offset = "+00:00" 8 | else: 9 | self._raw_offset = toml_offset 10 | self._sign = -1 if self._raw_offset[0] == '-' else 1 11 | self._hours = int(self._raw_offset[1:3]) 12 | self._minutes = int(self._raw_offset[4:6]) 13 | 14 | def __deepcopy__(self, memo): 15 | return self.__class__(self._raw_offset) 16 | 17 | def tzname(self, dt): 18 | return "UTC" + self._raw_offset 19 | 20 | def utcoffset(self, dt): 21 | return self._sign * timedelta(hours=self._hours, minutes=self._minutes) 22 | 23 | def dst(self, dt): 24 | return timedelta(0) 25 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_version.py: -------------------------------------------------------------------------------- 1 | # This file is protected via CODEOWNERS 2 | __version__ = "1.26.2" 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from . import ssl_match_hostname 4 | 5 | __all__ = ("ssl_match_hostname",) 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/queue.py: -------------------------------------------------------------------------------- 1 | import collections 2 | 3 | from ..packages import six 4 | from ..packages.six.moves import queue 5 | 6 | if six.PY2: 7 | # Queue is imported for side effects on MS Windows. See issue #229. 8 | import Queue as _unused_module_Queue # noqa: F401 9 | 10 | 11 | class LifoQueue(queue.Queue): 12 | def _init(self, _): 13 | self.queue = collections.deque() 14 | 15 | def _qsize(self, len=len): 16 | return len(self.queue) 17 | 18 | def _put(self, item): 19 | self.queue.append(item) 20 | 21 | def _get(self): 22 | return self.queue.pop() 23 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pip/_vendor/vendor.txt: -------------------------------------------------------------------------------- 1 | appdirs==1.4.4 2 | CacheControl==0.12.6 3 | colorama==0.4.4 4 | contextlib2==0.6.0.post1 5 | distlib==0.3.1 6 | distro==1.5.0 7 | html5lib==1.1 8 | ipaddress==1.0.23 # Only needed on 2.6 and 2.7 9 | msgpack==1.0.0 10 | packaging==20.8 11 | pep517==0.9.1 12 | progress==1.5 13 | pyparsing==2.4.7 14 | requests==2.25.0 15 | certifi==2020.11.08 16 | chardet==3.0.4 17 | idna==2.10 18 | urllib3==1.26.2 19 | resolvelib==0.5.3 20 | retrying==1.3.3 21 | setuptools==44.0.0 22 | six==1.15.0 23 | toml==0.10.2 24 | webencodings==0.5.1 25 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/_vendor/vendored.txt: -------------------------------------------------------------------------------- 1 | packaging==20.4 2 | pyparsing==2.2.1 3 | appdirs==1.4.3 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pkg_resources/tests/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.cfg -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | setuptools.setup( 3 | name="my-test-package", 4 | version="1.0", 5 | zip_safe=True, 6 | ) 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: my-test-package 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.cfg 2 | setup.py 3 | my_test_package.egg-info/PKG-INFO 4 | my_test_package.egg-info/SOURCES.txt 5 | my_test_package.egg-info/dependency_links.txt 6 | my_test_package.egg-info/top_level.txt 7 | my_test_package.egg-info/zip-safe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/top_level.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_zipped-egg/my_test_package-1.0-py3.7.egg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package_zipped-egg/my_test_package-1.0-py3.7.egg -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pkg_resources/tests/test_markers.py: -------------------------------------------------------------------------------- 1 | import mock 2 | 3 | from pkg_resources import evaluate_marker 4 | 5 | 6 | @mock.patch('platform.python_version', return_value='2.7.10') 7 | def test_ordering(python_version_mock): 8 | assert evaluate_marker("python_full_version > '2.7.3'") is True 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright-0.171.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright-0.171.1.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/playwright-0.171.1.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright-0.171.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright-0.171.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | playwright 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/__main__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft Corporation. 2 | # 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 | 15 | from playwright._main import main 16 | 17 | main() 18 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/_repo_version.py: -------------------------------------------------------------------------------- 1 | version = "0.171.1" 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/driver/browsers.json: -------------------------------------------------------------------------------- 1 | { 2 | "comment": "Do not edit this file, use utils/roll_browser.js", 3 | "browsers": [ 4 | { 5 | "name": "chromium", 6 | "revision": "833159", 7 | "download": true 8 | }, 9 | { 10 | "name": "firefox", 11 | "revision": "1221", 12 | "download": true 13 | }, 14 | { 15 | "name": "webkit", 16 | "revision": "1402", 17 | "download": true 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/driver/ffmpeg-mac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/playwright/driver/ffmpeg-mac -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/driver/playwright-cli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/playwright/driver/playwright-cli -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/playwright/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/playwright/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pluggy-0.13.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pluggy-0.13.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pluggy-0.13.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pluggy 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pluggy/__init__.py: -------------------------------------------------------------------------------- 1 | try: 2 | from ._version import version as __version__ 3 | except ImportError: 4 | # broken installation, we don't even try 5 | # unknown only works because we do poor mans version compare 6 | __version__ = "unknown" 7 | 8 | __all__ = [ 9 | "PluginManager", 10 | "PluginValidationError", 11 | "HookCallError", 12 | "HookspecMarker", 13 | "HookimplMarker", 14 | ] 15 | 16 | from .manager import PluginManager, PluginValidationError 17 | from .callers import HookCallError 18 | from .hooks import HookspecMarker, HookimplMarker 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pluggy/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '0.13.1' 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py-1.10.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py-1.10.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py-1.10.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | py 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/__init__.pyi: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | 3 | # py allows to use e.g. py.path.local even without importing py.path. 4 | # So import implicitly. 5 | from . import error 6 | from . import iniconfig 7 | from . import path 8 | from . import io 9 | from . import xml 10 | 11 | __version__: str 12 | 13 | # Untyped modules below here. 14 | std: Any 15 | test: Any 16 | process: Any 17 | apipkg: Any 18 | code: Any 19 | builtin: Any 20 | log: Any 21 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/__metainfo.py: -------------------------------------------------------------------------------- 1 | import py 2 | pydir = py.path.local(py.__file__).dirpath() 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_code/__init__.py: -------------------------------------------------------------------------------- 1 | """ python inspection/code generation API """ 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_io/__init__.py: -------------------------------------------------------------------------------- 1 | """ input/output helping """ 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_log/__init__.py: -------------------------------------------------------------------------------- 1 | """ logging API ('producers' and 'consumers' connected via keywords) """ 2 | 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_path/__init__.py: -------------------------------------------------------------------------------- 1 | """ unified file system api """ 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_process/__init__.py: -------------------------------------------------------------------------------- 1 | """ high-level sub-process handling """ 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_process/killproc.py: -------------------------------------------------------------------------------- 1 | import py 2 | import os, sys 3 | 4 | if sys.platform == "win32" or getattr(os, '_name', '') == 'nt': 5 | try: 6 | import ctypes 7 | except ImportError: 8 | def dokill(pid): 9 | py.process.cmdexec("taskkill /F /PID %d" %(pid,)) 10 | else: 11 | def dokill(pid): 12 | PROCESS_TERMINATE = 1 13 | handle = ctypes.windll.kernel32.OpenProcess( 14 | PROCESS_TERMINATE, False, pid) 15 | ctypes.windll.kernel32.TerminateProcess(handle, -1) 16 | ctypes.windll.kernel32.CloseHandle(handle) 17 | else: 18 | def dokill(pid): 19 | os.kill(pid, 15) 20 | 21 | def kill(pid): 22 | """ kill process by id. """ 23 | dokill(pid) 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_std.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import warnings 3 | 4 | 5 | class PyStdIsDeprecatedWarning(DeprecationWarning): 6 | pass 7 | 8 | 9 | class Std(object): 10 | """ makes top-level python modules available as an attribute, 11 | importing them on first access. 12 | """ 13 | 14 | def __init__(self): 15 | self.__dict__ = sys.modules 16 | 17 | def __getattr__(self, name): 18 | warnings.warn("py.std is deprecated, please import %s directly" % name, 19 | category=PyStdIsDeprecatedWarning, 20 | stacklevel=2) 21 | try: 22 | m = __import__(name) 23 | except ImportError: 24 | raise AttributeError("py.std: could not import %s" % name) 25 | return m 26 | 27 | std = Std() 28 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/py/_vendored_packages/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg-1.5.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg-1.5.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg-1.5.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg-1.5.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.31.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg-1.5.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | apipkg 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/apipkg/version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.5' 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig-1.1.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig-1.1.1.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig-1.1.1.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig-1.1.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig-1.1.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | iniconfig 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/py/_vendored_packages/iniconfig/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.10.0' 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/py/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/py/test.py: -------------------------------------------------------------------------------- 1 | import sys 2 | if __name__ == '__main__': 3 | import pytest 4 | sys.exit(pytest.main()) 5 | else: 6 | import sys, pytest 7 | sys.modules['py.test'] = pytest 8 | 9 | # for more API entry points see the 'tests' definition 10 | # in __init__.py 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyee-8.1.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyee-8.1.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyee-8.1.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pyee 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint-2.6.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint-2.6.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint-2.6.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | epylint = pylint:run_epylint 3 | pylint = pylint:run_pylint 4 | pyreverse = pylint:run_pyreverse 5 | symilar = pylint:run_symilar 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint-2.6.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pylint 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint/__main__.py: -------------------------------------------------------------------------------- 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 2 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 3 | 4 | #!/usr/bin/env python 5 | import os 6 | import sys 7 | 8 | import pylint 9 | 10 | # Strip out the current working directory from sys.path. 11 | # Having the working directory in `sys.path` means that `pylint` might 12 | # inadvertently import user code from modules having the same name as 13 | # stdlib or pylint's own modules. 14 | # CPython issue: https://bugs.python.org/issue33053 15 | if sys.path[0] == "" or sys.path[0] == os.getcwd(): 16 | sys.path.pop(0) 17 | 18 | pylint.run_pylint() 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint/extensions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pylint/extensions/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint/pyreverse/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 2 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 3 | 4 | """ 5 | pyreverse.extensions 6 | """ 7 | 8 | __revision__ = "$Id $" 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint/reporters/collecting_reporter.py: -------------------------------------------------------------------------------- 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 2 | # For details: https://github.com/PyCQA/pylint/blob/master/COPYING 3 | 4 | from pylint.reporters.base_reporter import BaseReporter 5 | 6 | 7 | class CollectingReporter(BaseReporter): 8 | """collects messages""" 9 | 10 | name = "collector" 11 | 12 | def __init__(self): 13 | BaseReporter.__init__(self) 14 | self.messages = [] 15 | 16 | def handle_message(self, msg): 17 | self.messages.append(msg) 18 | 19 | _display = None 20 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | pylint-fail-under = pylint_fail_under.__main__:main 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under-0.3.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pylint_fail_under 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pylint_fail_under/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pylint_fail_under/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pylint_fail_under/tests/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyparsing-2.4.7.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyparsing-2.4.7.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/pyparsing.cpython-38.pyc,, 2 | pyparsing-2.4.7.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | pyparsing-2.4.7.dist-info/LICENSE,sha256=ENUSChaAWAT_2otojCIL-06POXQbVzIGBNRVowngGXI,1023 4 | pyparsing-2.4.7.dist-info/METADATA,sha256=Ry40soZZiZrAkSMQT_KU1_1REe6FKa5UWzbT6YA8Mxs,3636 5 | pyparsing-2.4.7.dist-info/RECORD,, 6 | pyparsing-2.4.7.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 7 | pyparsing-2.4.7.dist-info/top_level.txt,sha256=eUOjGzJVhlQ3WS2rFAy2mN3LX_7FKTM5GSJ04jfnLmU,10 8 | pyparsing.py,sha256=oxX_ZOz8t-eros-UWY7nJgcdUgD-rQ53Ck0qp7_v3Ig,273365 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyparsing-2.4.7.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.34.2) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pyparsing-2.4.7.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pyparsing 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | py.test = pytest:console_main 3 | pytest = pytest:console_main 4 | 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest-6.2.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | _pytest 2 | pytest 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest/__main__.py: -------------------------------------------------------------------------------- 1 | """The pytest entry point.""" 2 | import pytest 3 | 4 | if __name__ == "__main__": 5 | raise SystemExit(pytest.console_main()) 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pytest/py.typed -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.34.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [pytest11] 2 | asyncio = pytest_asyncio.plugin 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio-0.14.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pytest_asyncio 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_asyncio/__init__.py: -------------------------------------------------------------------------------- 1 | """The main point for importing pytest-asyncio items.""" 2 | __version__ = "0.14.0" 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_forked-1.3.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_forked-1.3.0.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | pytest_forked-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | pytest_forked-1.3.0.dist-info/LICENSE,sha256=KvaAw570k_uCgwNW0dPfGstaBgM8ui3sehniHKp3qGY,1061 3 | pytest_forked-1.3.0.dist-info/METADATA,sha256=63fKo_3cn3AhEWGVY0d2PFtdQaxoPOZOl4QlXCiU9aI,2737 4 | pytest_forked-1.3.0.dist-info/RECORD,, 5 | pytest_forked-1.3.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 6 | pytest_forked-1.3.0.dist-info/entry_points.txt,sha256=ClvRAFkDd0luFvBlZZRWheS4Cx_4KPLyqhWOQUDsRyc,42 7 | pytest_forked-1.3.0.dist-info/top_level.txt,sha256=OSv0m7AwBLvJfHoAFz_WXLXzqSGSixscE8yLRHqgIls,14 8 | pytest_forked/__init__.py,sha256=lhrDcu6Q2_WywmmIXjtpGbb2YumbqDYjhrcgbhkUD9E,3631 9 | pytest_forked/__pycache__/__init__.cpython-38.pyc,, 10 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_forked-1.3.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.34.2) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_forked-1.3.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [pytest11] 2 | pytest_forked = pytest_forked 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_forked-1.3.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | pytest_forked 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/REQUESTED: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/REQUESTED -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [pytest11] 2 | xdist = xdist.plugin 3 | xdist.looponfail = xdist.looponfail 4 | 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/pytest_xdist-2.2.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | xdist 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools-51.1.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools-51.1.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.36.2) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools-51.1.0.dist-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d 2 | https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2 3 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools-51.1.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | _distutils_hack 2 | easy_install 3 | pkg_resources 4 | setuptools 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py: -------------------------------------------------------------------------------- 1 | class SetuptoolsDeprecationWarning(Warning): 2 | """ 3 | Base class for warning deprecations in ``setuptools`` 4 | 5 | This class is not derived from ``DeprecationWarning``, and as such is 6 | visible by default. 7 | """ 8 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/__init__.py: -------------------------------------------------------------------------------- 1 | """distutils 2 | 3 | The main package for the Python Module Distribution Utilities. Normally 4 | used from a setup script as 5 | 6 | from distutils.core import setup 7 | 8 | setup (...) 9 | """ 10 | 11 | import sys 12 | 13 | __version__ = sys.version[:sys.version.index(' ')] 14 | 15 | local = True 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-10.0-amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-10.0-amd64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-10.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-10.0.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-14.0-amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-14.0-amd64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-14.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-14.0.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-6.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-6.0.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-7.1.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-7.1.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-8.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-8.0.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-9.0-amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-9.0-amd64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-9.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_distutils/command/wininst-9.0.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/debug.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | # If DISTUTILS_DEBUG is anything other than the empty string, we run in 4 | # debug mode. 5 | DEBUG = os.environ.get('DISTUTILS_DEBUG') 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/py35compat.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import subprocess 3 | 4 | 5 | def __optim_args_from_interpreter_flags(): 6 | """Return a list of command-line arguments reproducing the current 7 | optimization settings in sys.flags.""" 8 | args = [] 9 | value = sys.flags.optimize 10 | if value > 0: 11 | args.append("-" + "O" * value) 12 | return args 13 | 14 | 15 | _optim_args_from_interpreter_flags = getattr( 16 | subprocess, 17 | "_optim_args_from_interpreter_flags", 18 | __optim_args_from_interpreter_flags, 19 | ) 20 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/py38compat.py: -------------------------------------------------------------------------------- 1 | def aix_platform(osname, version, release): 2 | try: 3 | import _aix_support 4 | return _aix_support.aix_platform() 5 | except ImportError: 6 | pass 7 | return "%s-%s.%s" % (osname, version, release) 8 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_distutils/tests/test_versionpredicate.py: -------------------------------------------------------------------------------- 1 | """Tests harness for distutils.versionpredicate. 2 | 3 | """ 4 | 5 | import distutils.versionpredicate 6 | import doctest 7 | from test.support import run_unittest 8 | 9 | def test_suite(): 10 | return doctest.DocTestSuite(distutils.versionpredicate) 11 | 12 | if __name__ == '__main__': 13 | run_unittest(test_suite()) 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/_vendor/vendored.txt: -------------------------------------------------------------------------------- 1 | packaging==20.4 2 | pyparsing==2.2.1 3 | ordered-set==3.1.1 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/cli-32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/cli-32.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/cli-64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/cli-64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/cli.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/cli.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/command/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = [ 2 | 'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop', 3 | 'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts', 4 | 'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts', 5 | 'bdist_wininst', 'upload_docs', 'build_clib', 'dist_info', 6 | ] 7 | 8 | from distutils.command.bdist import bdist 9 | import sys 10 | 11 | from setuptools.command import install_scripts 12 | 13 | if 'egg' not in bdist.format_commands: 14 | bdist.format_command['egg'] = ('bdist_egg', "Python .egg file") 15 | bdist.format_commands.append('egg') 16 | 17 | del bdist, sys 18 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/command/register.py: -------------------------------------------------------------------------------- 1 | from distutils import log 2 | import distutils.command.register as orig 3 | 4 | from setuptools.errors import RemovedCommandError 5 | 6 | 7 | class register(orig.register): 8 | """Formerly used to register packages on PyPI.""" 9 | 10 | def run(self): 11 | msg = ( 12 | "The register command has been removed, use twine to upload " 13 | + "instead (https://pypi.org/p/twine)" 14 | ) 15 | 16 | self.announce("ERROR: " + msg, log.ERROR) 17 | 18 | raise RemovedCommandError(msg) 19 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/command/saveopts.py: -------------------------------------------------------------------------------- 1 | from setuptools.command.setopt import edit_config, option_base 2 | 3 | 4 | class saveopts(option_base): 5 | """Save command-line options to a file""" 6 | 7 | description = "save supplied options to setup.cfg or other config file" 8 | 9 | def run(self): 10 | dist = self.distribution 11 | settings = {} 12 | 13 | for cmd in dist.command_options: 14 | 15 | if cmd == 'saveopts': 16 | continue # don't save our own options! 17 | 18 | for opt, (src, val) in dist.get_option_dict(cmd).items(): 19 | if src == "command line": 20 | settings.setdefault(cmd, {})[opt] = val 21 | 22 | edit_config(self.filename, settings, self.dry_run) 23 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/command/upload.py: -------------------------------------------------------------------------------- 1 | from distutils import log 2 | from distutils.command import upload as orig 3 | 4 | from setuptools.errors import RemovedCommandError 5 | 6 | 7 | class upload(orig.upload): 8 | """Formerly used to upload packages to PyPI.""" 9 | 10 | def run(self): 11 | msg = ( 12 | "The upload command has been removed, use twine to upload " 13 | + "instead (https://pypi.org/p/twine)" 14 | ) 15 | 16 | self.announce("ERROR: " + msg, log.ERROR) 17 | raise RemovedCommandError(msg) 18 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/errors.py: -------------------------------------------------------------------------------- 1 | """setuptools.errors 2 | 3 | Provides exceptions used by setuptools modules. 4 | """ 5 | 6 | from distutils.errors import DistutilsError 7 | 8 | 9 | class RemovedCommandError(DistutilsError, RuntimeError): 10 | """Error used for commands that have been removed in setuptools. 11 | 12 | Since ``setuptools`` is built on ``distutils``, simply removing a command 13 | from ``setuptools`` will make the behavior fall back to ``distutils``; this 14 | error is raised if a command exists in ``distutils`` but has been actively 15 | removed in ``setuptools``. 16 | """ 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/gui-32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/gui-32.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/gui-64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/gui-64.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/gui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/setuptools/gui.exe -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/py34compat.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | 3 | try: 4 | import importlib.util 5 | except ImportError: 6 | pass 7 | 8 | 9 | try: 10 | module_from_spec = importlib.util.module_from_spec 11 | except AttributeError: 12 | def module_from_spec(spec): 13 | return spec.loader.load_module(spec.name) 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl: -------------------------------------------------------------------------------- 1 | # EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r 2 | __requires__ = %(spec)r 3 | __import__('pkg_resources').require(%(spec)r) 4 | __file__ = %(dev_path)r 5 | with open(__file__) as f: 6 | exec(compile(f.read(), __file__, 'exec')) 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/script.tmpl: -------------------------------------------------------------------------------- 1 | # EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r 2 | __requires__ = %(spec)r 3 | __import__('pkg_resources').run_script(%(spec)r, %(script_name)r) 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/__init__.py: -------------------------------------------------------------------------------- 1 | import locale 2 | 3 | import pytest 4 | 5 | 6 | __all__ = ['fail_on_ascii', 'ack_2to3'] 7 | 8 | 9 | is_ascii = locale.getpreferredencoding() == 'ANSI_X3.4-1968' 10 | fail_on_ascii = pytest.mark.xfail(is_ascii, reason="Test fails in this locale") 11 | 12 | 13 | ack_2to3 = pytest.mark.filterwarnings('ignore:2to3 support is deprecated') 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/fixtures.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from . import contexts 4 | 5 | 6 | @pytest.fixture 7 | def user_override(monkeypatch): 8 | """ 9 | Override site.USER_BASE and site.USER_SITE with temporary directories in 10 | a context. 11 | """ 12 | with contexts.tempdir() as user_base: 13 | monkeypatch.setattr('site.USER_BASE', user_base) 14 | with contexts.tempdir() as user_site: 15 | monkeypatch.setattr('site.USER_SITE', user_site) 16 | with contexts.save_user_site_setting(): 17 | yield 18 | 19 | 20 | @pytest.fixture 21 | def tmpdir_cwd(tmpdir): 22 | with tmpdir.as_cwd() as orig: 23 | yield orig 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/indexes/test_links_priority/external.html: -------------------------------------------------------------------------------- 1 | 2 | bad old link 3 | 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/indexes/test_links_priority/simple/foobar/index.html: -------------------------------------------------------------------------------- 1 | 2 | foobar-0.1.tar.gz
3 | external homepage
4 | 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/mod_with_constant.py: -------------------------------------------------------------------------------- 1 | value = 'three, sir!' 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/script-with-bom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | result = 'passed' 4 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_bdist_deprecations.py: -------------------------------------------------------------------------------- 1 | """develop tests 2 | """ 3 | import mock 4 | 5 | import pytest 6 | 7 | from setuptools.dist import Distribution 8 | from setuptools import SetuptoolsDeprecationWarning 9 | 10 | 11 | @mock.patch("distutils.command.bdist_wininst.bdist_wininst") 12 | def test_bdist_wininst_warning(distutils_cmd): 13 | dist = Distribution(dict( 14 | script_name='setup.py', 15 | script_args=['bdist_wininst'], 16 | name='foo', 17 | py_modules=['hi'], 18 | )) 19 | dist.parse_command_line() 20 | with pytest.warns(SetuptoolsDeprecationWarning): 21 | dist.run_commands() 22 | 23 | distutils_cmd.run.assert_called_once() 24 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_depends.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | from setuptools import depends 4 | 5 | 6 | class TestGetModuleConstant: 7 | 8 | def test_basic(self): 9 | """ 10 | Invoke get_module_constant on a module in 11 | the test package. 12 | """ 13 | mod_name = 'setuptools.tests.mod_with_constant' 14 | val = depends.get_module_constant(mod_name, 'value') 15 | assert val == 'three, sir!' 16 | assert 'setuptools.tests.mod_with_constant' not in sys.modules 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_extern.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import pickle 3 | 4 | from setuptools import Distribution 5 | from setuptools.extern import ordered_set 6 | 7 | 8 | def test_reimport_extern(): 9 | ordered_set2 = importlib.import_module(ordered_set.__name__) 10 | assert ordered_set is ordered_set2 11 | 12 | 13 | def test_orderedset_pickle_roundtrip(): 14 | o1 = ordered_set.OrderedSet([1, 2, 5]) 15 | o2 = pickle.loads(pickle.dumps(o1)) 16 | assert o1 == o2 17 | 18 | 19 | def test_distribution_picklable(): 20 | pickle.loads(pickle.dumps(Distribution())) 21 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_register.py: -------------------------------------------------------------------------------- 1 | from setuptools.command.register import register 2 | from setuptools.dist import Distribution 3 | from setuptools.errors import RemovedCommandError 4 | 5 | try: 6 | from unittest import mock 7 | except ImportError: 8 | import mock 9 | 10 | import pytest 11 | 12 | 13 | class TestRegister: 14 | def test_register_exception(self): 15 | """Ensure that the register command has been properly removed.""" 16 | dist = Distribution() 17 | dist.dist_files = [(mock.Mock(), mock.Mock(), mock.Mock())] 18 | 19 | cmd = register(dist) 20 | 21 | with pytest.raises(RemovedCommandError): 22 | cmd.run() 23 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_unicode_utils.py: -------------------------------------------------------------------------------- 1 | from setuptools import unicode_utils 2 | 3 | 4 | def test_filesys_decode_fs_encoding_is_None(monkeypatch): 5 | """ 6 | Test filesys_decode does not raise TypeError when 7 | getfilesystemencoding returns None. 8 | """ 9 | monkeypatch.setattr('sys.getfilesystemencoding', lambda: None) 10 | unicode_utils.filesys_decode(b'test') 11 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/test_upload.py: -------------------------------------------------------------------------------- 1 | from setuptools.command.upload import upload 2 | from setuptools.dist import Distribution 3 | from setuptools.errors import RemovedCommandError 4 | 5 | try: 6 | from unittest import mock 7 | except ImportError: 8 | import mock 9 | 10 | import pytest 11 | 12 | 13 | class TestUpload: 14 | def test_upload_exception(self): 15 | """Ensure that the register command has been properly removed.""" 16 | dist = Distribution() 17 | dist.dist_files = [(mock.Mock(), mock.Mock(), mock.Mock())] 18 | 19 | cmd = upload(dist) 20 | 21 | with pytest.raises(RemovedCommandError): 22 | cmd.run() 23 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/text.py: -------------------------------------------------------------------------------- 1 | class Filenames: 2 | unicode = 'smörbröd.py' 3 | latin_1 = unicode.encode('latin-1') 4 | utf_8 = unicode.encode('utf-8') 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/tests/textwrap.py: -------------------------------------------------------------------------------- 1 | import textwrap 2 | 3 | 4 | def DALS(s): 5 | "dedent and left-strip" 6 | return textwrap.dedent(s).lstrip() 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/setuptools/version.py: -------------------------------------------------------------------------------- 1 | import pkg_resources 2 | 3 | try: 4 | __version__ = pkg_resources.get_distribution('setuptools').version 5 | except Exception: 6 | __version__ = 'unknown' 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/six-1.15.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/six-1.15.0.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/six.cpython-38.pyc,, 2 | six-1.15.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | six-1.15.0.dist-info/LICENSE,sha256=i7hQxWWqOJ_cFvOkaWWtI9gq3_YPI5P8J2K2MYXo5sk,1066 4 | six-1.15.0.dist-info/METADATA,sha256=W6rlyoeMZHXh6srP9NXNsm0rjAf_660re8WdH5TBT8E,1795 5 | six-1.15.0.dist-info/RECORD,, 6 | six-1.15.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 7 | six-1.15.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 8 | six.py,sha256=U4Z_yv534W5CNyjY9i8V1OXY2SjAny8y2L5vDLhhThM,34159 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/six-1.15.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.34.2) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/six-1.15.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | six 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.35.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | toml 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/toml/ordered.py: -------------------------------------------------------------------------------- 1 | from collections import OrderedDict 2 | from toml import TomlEncoder 3 | from toml import TomlDecoder 4 | 5 | 6 | class TomlOrderedDecoder(TomlDecoder): 7 | 8 | def __init__(self): 9 | super(self.__class__, self).__init__(_dict=OrderedDict) 10 | 11 | 12 | class TomlOrderedEncoder(TomlEncoder): 13 | 14 | def __init__(self): 15 | super(self.__class__, self).__init__(_dict=OrderedDict) 16 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/toml/tz.py: -------------------------------------------------------------------------------- 1 | from datetime import tzinfo, timedelta 2 | 3 | 4 | class TomlTz(tzinfo): 5 | def __init__(self, toml_offset): 6 | if toml_offset == "Z": 7 | self._raw_offset = "+00:00" 8 | else: 9 | self._raw_offset = toml_offset 10 | self._sign = -1 if self._raw_offset[0] == '-' else 1 11 | self._hours = int(self._raw_offset[1:3]) 12 | self._minutes = int(self._raw_offset[4:6]) 13 | 14 | def __deepcopy__(self, memo): 15 | return self.__class__(self._raw_offset) 16 | 17 | def tzname(self, dt): 18 | return "UTC" + self._raw_offset 19 | 20 | def utcoffset(self, dt): 21 | return self._sign * timedelta(hours=self._hours, minutes=self._minutes) 22 | 23 | def dst(self, dt): 24 | return timedelta(0) 25 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/typing_extensions-3.7.4.3.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/typing_extensions-3.7.4.3.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | __pycache__/typing_extensions.cpython-38.pyc,, 2 | typing_extensions-3.7.4.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | typing_extensions-3.7.4.3.dist-info/LICENSE,sha256=_xfOlOECAk3raHc-scx0ynbaTmWPNzUx8Kwi1oprsa0,12755 4 | typing_extensions-3.7.4.3.dist-info/METADATA,sha256=ZHHy0ceuecxgjj7eY65f-I_dN1m3u2BgGVbnc9lgg78,2020 5 | typing_extensions-3.7.4.3.dist-info/RECORD,, 6 | typing_extensions-3.7.4.3.dist-info/WHEEL,sha256=p46_5Uhzqz6AzeSosiOnxK-zmFja1i22CrQCjmYe8ec,92 7 | typing_extensions-3.7.4.3.dist-info/top_level.txt,sha256=hkDmk3VmrfXPOD--jS4aKTCu6kFZo-kVT1cIFfq1eU8,18 8 | typing_extensions.py,sha256=MX7Db0Dze7Y5_V7HHFajAbf8IPuvw2ZS07o_sfpBOE8,83727 9 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/typing_extensions-3.7.4.3.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.6) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/typing_extensions-3.7.4.3.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | typing_extensions 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt-1.12.1-py3.8.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | README.rst 2 | setup.py 3 | src/wrapt/__init__.py 4 | src/wrapt/_wrappers.c 5 | src/wrapt/decorators.py 6 | src/wrapt/importer.py 7 | src/wrapt/wrappers.py 8 | src/wrapt.egg-info/PKG-INFO 9 | src/wrapt.egg-info/SOURCES.txt 10 | src/wrapt.egg-info/dependency_links.txt 11 | src/wrapt.egg-info/top_level.txt -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt-1.12.1-py3.8.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt-1.12.1-py3.8.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../wrapt/__init__.py 2 | ../wrapt/__pycache__/__init__.cpython-38.pyc 3 | ../wrapt/__pycache__/decorators.cpython-38.pyc 4 | ../wrapt/__pycache__/importer.cpython-38.pyc 5 | ../wrapt/__pycache__/wrappers.cpython-38.pyc 6 | ../wrapt/_wrappers.cpython-38-darwin.so 7 | ../wrapt/decorators.py 8 | ../wrapt/importer.py 9 | ../wrapt/wrappers.py 10 | PKG-INFO 11 | SOURCES.txt 12 | dependency_links.txt 13 | top_level.txt 14 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt-1.12.1-py3.8.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | wrapt 2 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt/__init__.py: -------------------------------------------------------------------------------- 1 | __version_info__ = ('1', '12', '1') 2 | __version__ = '.'.join(__version_info__) 3 | 4 | from .wrappers import (ObjectProxy, CallableObjectProxy, FunctionWrapper, 5 | BoundFunctionWrapper, WeakFunctionProxy, PartialCallableObjectProxy, 6 | resolve_path, apply_patch, wrap_object, wrap_object_attribute, 7 | function_wrapper, wrap_function_wrapper, patch_function_wrapper, 8 | transient_function_wrapper) 9 | 10 | from .decorators import (adapter_factory, AdapterFactory, decorator, 11 | synchronized) 12 | 13 | from .importer import (register_post_import_hook, when_imported, 14 | notify_module_loaded, discover_post_import_hooks) 15 | 16 | from inspect import getcallargs 17 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/wrapt/_wrappers.cpython-38-darwin.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moyu6027/pytest-ui-automatic/416336c5b8d78cbf999ff731a1e60be1ba360394/venv/lib/python3.8/site-packages/wrapt/_wrappers.cpython-38-darwin.so -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/xdist/__init__.py: -------------------------------------------------------------------------------- 1 | from xdist.plugin import is_xdist_worker, is_xdist_master, get_xdist_worker_id 2 | from xdist._version import version as __version__ 3 | 4 | __all__ = ["__version__", "is_xdist_worker", "is_xdist_master", "get_xdist_worker_id"] 5 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/xdist/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '2.2.0' 5 | version_tuple = (2, 2, 0) 6 | -------------------------------------------------------------------------------- /venv/lib/python3.8/site-packages/xdist/scheduler/__init__.py: -------------------------------------------------------------------------------- 1 | from xdist.scheduler.each import EachScheduling # noqa 2 | from xdist.scheduler.load import LoadScheduling # noqa 3 | from xdist.scheduler.loadfile import LoadFileScheduling # noqa 4 | from xdist.scheduler.loadscope import LoadScopeScheduling # noqa 5 | -------------------------------------------------------------------------------- /venv/pyvenv.cfg: -------------------------------------------------------------------------------- 1 | home = /usr/local/bin 2 | include-system-site-packages = false 3 | version = 3.8.2 4 | --------------------------------------------------------------------------------