{ "info": { "author": "edsion", "author_email": "edsion@i1hao.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: Chinese (Simplified)", "Operating System :: Android", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing" ], "description": "# pytest-android\n\n![PyPI version](https://img.shields.io/pypi/v/pytest-android.svg) ![Python versions](https://img.shields.io/pypi/pyversions/pytest-android.svg) ![See Build Status on Travis CI](https://travis-ci.org/edsion1107/pytest-android.svg?branch=master)\n\npytest-android is a plugin for [pytest](http://pytest.org/) that provides a configured 'driver' for Android Automated Testing, using [uiautomator2](https://github.com/openatx/uiautomator2).\n\npytest-android \u662f [pytest](http://pytest.org/) \u7684\u63d2\u4ef6\uff0c\u5b83\u901a\u8fc7 [uiautomator2](https://github.com/openatx/uiautomator2) \u4e3a Android \u81ea\u52a8\u5316\u6d4b\u8bd5\u63d0\u4f9b\u201c\u9a71\u52a8\u201d\u3002\n\n\n\n\u76ee\u5f55\n=================\n\n* [pytest-android](#pytest-android)\n* [\u76ee\u5f55](#\u76ee\u5f55)\n * [\u4e3b\u8981\u529f\u80fd](#\u4e3b\u8981\u529f\u80fd)\n * [\u5b89\u88c5](#\u5b89\u88c5)\n * [1. \u5b89\u88c5 python](#1-\u5b89\u88c5-python)\n * [2. \u521b\u5efa\u5de5\u7a0b](#2-\u521b\u5efa\u5de5\u7a0b)\n * [3. \u5b89\u88c5\u63d2\u4ef6\u548c\u4e00\u4e9b\u53ef\u9009\u6a21\u5757](#3-\u5b89\u88c5\u63d2\u4ef6\u548c\u4e00\u4e9b\u53ef\u9009\u6a21\u5757)\n * [\u4f7f\u7528](#\u4f7f\u7528)\n * [1. \u521b\u5efa\u914d\u7f6e\u6587\u4ef6](#1-\u521b\u5efa\u914d\u7f6e\u6587\u4ef6)\n * [1.1 \u521b\u5efa\u914d\u7f6e\u6587\u4ef6 config.yaml \u548c pytest.ini](#11-\u521b\u5efa\u914d\u7f6e\u6587\u4ef6-configyaml-\u548c-pytestini)\n * [1.2 \u6839\u636e\u9700\u6c42\u8c03\u6574\u914d\u7f6e[\u53ef\u9009]](#12-\u6839\u636e\u9700\u6c42\u8c03\u6574\u914d\u7f6e\u53ef\u9009)\n * [2. \u7f16\u5199\u7528\u4f8b](#2-\u7f16\u5199\u7528\u4f8b)\n * [2.1 \u53ef\u7528\u7684Fixtures](#21-\u53ef\u7528\u7684fixtures)\n * [2.2 \u7f16\u5199\u7528\u4f8b](#22-\u7f16\u5199\u7528\u4f8b)\n * [Issues](#issues)\n * [License](#license)\n\n## \u4e3b\u8981\u529f\u80fd\n\n- \u6574\u5408 [uiautomator2](https://github.com/openatx/uiautomator2)\uff0c\u5b9e\u73b0\u57fa\u4e8e\u63a7\u4ef6\u7684\u81ea\u52a8\u5316\u6d4b\u8bd5\n- \u4f9d\u8d56 [pytest-variables](https://github.com/pytest-dev/pytest-variables) \u5b9e\u73b0\u53c2\u6570\u5316\u914d\u7f6e\n- \u501f\u52a9 [allure](https://github.com/allure-framework/allure-python) \u751f\u6210\u6d4b\u8bd5\u62a5\u544a\n- \u501f\u52a9 hook \u673a\u5236\uff0c\u5b9e\u73b0\u201c\u70b9\u51fb\u3001\u6ed1\u52a8\u65f6\u81ea\u52a8\u622a\u56fe\u201d\u3001\u201c\u5f02\u5e38\u65f6\u81ea\u52a8\u6293\u53d6\u63a7\u4ef6\u4fe1\u606f\u548c\u622a\u56fe\u201d\u7b49 fixture\uff0c\u51cf\u5c11\u91cd\u590d\u5de5\u4f5c\n- \u901a\u8fc7\u5b89\u88c5 pytest \u63d2\u4ef6\uff0c\u5b9e\u73b0\u8bf8\u5982\u201c\u5931\u8d25\u91cd\u8bd5\u201d\u3001\u201c\u5206\u5e03\u5f0f\u6267\u884c\u201d\u3001\u201c\u7528\u4f8b\u5206\u5c42\u201d\u7b49\n\n\n\n## \u5b89\u88c5\n\n**\u5f3a\u70c8\u5efa\u8bae** \u4f7f\u7528 git \u5bf9\u4ee3\u7801\u8fdb\u884c\u7248\u672c\u63a7\u5236\uff0c\u7075\u6d3b\u8fd0\u7528\u5206\u652f\u5f00\u53d1\u7684\u7b56\u7565\uff0c\u5e76\u4e14\u5c06\u81ea\u52a8\u5316\u6574\u5408\u8fdb DevOps \u6d41\u7a0b\u4e2d\u3002\n\n**\u63a8\u8350** \u672c\u5730\u5f00\u53d1\u4f7f\u7528\u57fa\u4e8e`virtualenv`\u7684\u5de5\u5177\u5b9e\u73b0\u73af\u5883\u9694\u79bb\u548c\u89e3\u51b3\u5404\u4e2a\u6a21\u5757\u4e4b\u95f4\u7684\u4f9d\u8d56\uff0c\u5982`pipenv`\u3002\n\n**\u5efa\u8bae** \u751f\u4ea7\u73af\u5883\u4f7f\u7528`docker`\u5bf9\u5404\u4e2a\u8bbe\u5907\u4e4b\u95f4\u8fdb\u884c\u201c\u9694\u79bb\u201d\u3002\n\n### 1. \u5b89\u88c5 python\n\nmacOS\u3001linux\u53ef\u4ee5\u901a\u8fc7 [pyenv](https://github.com/pyenv/pyenv) \u5b9e\u73b0\u591a\u4e2a python \u7248\u672c\u7684\u5171\u5b58\u548c\u5207\u6362\uff0cWindows\u4e0a\u9700\u8981\u4e0b\u8f7d\u53ef\u6267\u884c\u6587\u4ef6\u3001\u624b\u52a8\u5b89\u88c5\u548c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002\n\n> \u56e0\u4e3a\u4f7f\u7528\u4e86 python 3.6 \u7684 [f-string](https://realpython.com/python-f-strings/) \u7279\u6027\uff0c\u6240\u4ee5\u5efa\u8bae\u7684 python \u7248\u672c\u5927\u4e8e\u7b49\u4e8e3.6\u3002\n\n\u5177\u4f53\u5b89\u88c5\u8fc7\u7a0b\u7565\u3002\n\n### 2. \u521b\u5efa\u5de5\u7a0b\n\n```bash\nmkdir demo\ncd demo\n```\n\n### 3. \u5b89\u88c5\u63d2\u4ef6\u548c\u4e00\u4e9b\u53ef\u9009\u6a21\u5757\n\n\u63a8\u8350\u4f7f\u7528 [pipenv](https://github.com/pypa/pipenv) \u8fdb\u884c\u73af\u5883\u7ba1\u7406\uff1a\n\n```bash\n# macOS\nbrew install pipenv\n# windows,linux\npip install --user pipenv\n\n# \u5fc5\u987b\uff0c\u6839\u636e\u60a8\u7684\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\uff0c\u4e8c\u9009\u4e00\uff08\u56e0\u4e3a\u63d2\u4ef6\u76ee\u524d\u5728 alpha \u6d4b\u8bd5\u9636\u6bb5\uff0c\u9700\u8981\u6dfb\u52a0`--pre`\u53c2\u6570\uff09\n# \u6ce8\u610f\uff0cpipenv\u57282018.11.26\u7248\u672c\u4e4b\u540e\uff0c\u624d\u80fd\u652f\u6301\u989d\u5916\uff08extras\uff09\u6a21\u5757\uff08\u5373\u5b89\u88c5\u65f6\u7684\u4e2d\u62ec\u53f7\u8bed\u6cd5\uff09\uff0c\u6240\u4ee5\u4f7f\u7528\u8f83\u65b0\u7684\u7248\u672c\u3001\u6216\u624b\u52a8\u5b89\u88c5\npipenv install --pre pytest-android[yaml]\t# yaml \u4f5c\u4e3a\u914d\u7f6e\u6587\u4ef6\uff0c\u63a8\u8350\npipenv install --pre pytest-android[hjson]\t# json \u4f5c\u4e3a\u914d\u7f6e\u6587\u4ef6\n\n# \u4ee5\u4e0b\u4e3a\u53ef\u9009\u6a21\u5757\uff0c\u6839\u636e\u9700\u8981\u9009\u62e9\u6027\u5b89\u88c5\npipenv install weditor\t\t# uiautomator2 \u7684\u5f55\u5236\u5de5\u5177\npipenv install allure-pytest\t\t# \u4f7f\u7528 allure \u751f\u6210\u62a5\u544a\npipenv install pytest-rerunfailures\t\t# \u4f7f pytest \u652f\u6301\u5931\u8d25\u91cd\u8bd5\n```\n> PS: pip\u7248\u672c\u5927\u4e8e\u7b49\u4e8e18\u65f6\uff0cpipenv\u9700\u8981\u7684\u6700\u4f4e\u7248\u672c\u4e3a2018.11.26\uff08\u5982\u679c\u4f4e\u4e8e\u6b64\u7248\u672c\u4f1a\u5bfc\u81f4\u4e00\u7cfb\u5217\u9519\u8bef\uff09\n\n> \u6ce8\u610f\uff1a\u6839\u636e[\u8fd9\u91cc\u7684\u89c2\u70b9](https://pipenv.readthedocs.io/en/latest/advanced/#pipfile-vs-setup-py)\uff0cpytest-android \u4f5c\u4e3a **libraries**\uff0c\u5c06\u90e8\u7f72\u5230\u67d0\u4e2a\u7279\u5b9a\u7684\u73af\u5883\u4e2d\uff0c\u7136\u540e\u624d\u80fd\u4f7f\u6240\u6709\u4f9d\u8d56\u9879\u548c\u5b50\u4f9d\u8d56\u9879\u7684\u786e\u5207\u7248\u672c\u5177\u4f53\u5316\u3002\n\n## \u4f7f\u7528\n\n### 1. \u521b\u5efa\u914d\u7f6e\u6587\u4ef6\n\n#### ~~1.1 config.yaml~~\n\n~~\u521b\u5efa\u9879\u76ee\u7ea7\u914d\u7f6e\u6587\u4ef6\uff0c\u53c2\u8003 [config.yaml](https://raw.githubusercontent.com/edsion1107/pytest-android/master/config.yaml)\u3002\u6b64\u6587\u4ef6\u53ef\u4ee5\u4f7f\u7528 yaml \u548c hjson \u683c\u5f0f\uff08\u7531 pytest-variables \u63d2\u4ef6\u5b9e\u73b0\uff09\uff0c\u6587\u4ef6\u540d\u4efb\u610f\u3002~~\n\n~~\u914d\u7f6e\u6587\u4ef6\u53ef\u4ee5\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\uff08\u9047\u5230\u76f8\u540c\u5b57\u6bb5\uff0c\u540e\u9762\u7684\u4f1a\u8986\u76d6\u524d\u9762\u7684\uff09\uff0c\u501f\u52a9\u6b64\u529f\u80fd\u53ef\u4ee5\u5b9e\u73b0\uff1a\u6307\u5b9a\u8bbe\u5907\u53c2\u6570\u3001\u5b9e\u73b0\u590d\u6742\u60c5\u51b5\u4e0b\u7684\u517c\u5bb9\u6027\u6d4b\u8bd5\u7b49\u3002~~\n\n#### ~~1.2 pytest.ini~~\n\n~~\u521b\u5efa pytest \u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u53c2\u8003[\u6587\u6863](https://docs.pytest.org/en/latest/reference.html#configuration-options)\u8fdb\u884c\u57fa\u7840\u914d\u7f6e\u3002~~\n\n~~\u6dfb\u52a0`addopts = --variables config.yaml`\uff0c\u6307\u5b9a\u9879\u76ee\u914d\u7f6e\u6587\u4ef6\u3002~~\n\n#### 1.1 \u521b\u5efa\u914d\u7f6e\u6587\u4ef6 config.yaml \u548c pytest.ini\n\n\u9879\u76ee\u914d\u7f6e\u6587\u4ef6 config.yaml\uff0cpytest \u914d\u7f6e\u6587\u4ef6 pytest.ini \uff0c\u533a\u522b\uff1a\n\npytest.ini \u53ea\u80fd\u6709\u4e00\u4e2a\uff0c\u4e14\u6587\u4ef6\u540d\u4e0d\u53ef\u4fee\u6539\uff1b\n\nconfig.yaml \u53ef\u4ee5\u6709\u591a\u4e2a\uff08\u901a\u8fc7 pytest-variables \u63d2\u4ef6\u5b9e\u73b0\uff0c\u9700\u5728pytest.ini \u4e2d\u6307\u5b9a\uff09\uff0c\u6587\u4ef6\u540d\u4efb\u610f\uff0c\u5e76\u4e14\u53ef\u4ee5\u540c\u65f6\u8f7d\u5165\u591a\u4e2a\u6587\u4ef6\uff08\u9047\u5230\u91cd\u590d\u5b57\u6bb5\u65f6\uff0c\u6700\u540e\u4e00\u4e2a\u751f\u6548\uff09\u3002\n\n\u901a\u8fc7\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u5bf9\u6d4b\u8bd5\u8fdb\u884c\u53c2\u6570\u5316\u914d\u7f6e\uff0c\u63d0\u9ad8\u6d4b\u8bd5\u7684\u7075\u6d3b\u6027\uff0c\u964d\u4f4e\u4ee3\u7801\u7ef4\u62a4\u7684\u5de5\u4f5c\u91cf\uff0c\u548c\u51cf\u5c11\u53ef\u80fd\u7684\u758f\u5ffd\u5bfc\u81f4\u7684\u5f02\u5e38\u3002\n\n\u76ee\u524d\u5df2\u5b9e\u73b0\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u53ef\u4ee5\u76f4\u63a5\u6267\u884c\u547d\u4ee4\u4e0b\u8f7d\u5bf9\u5e94\u7684\u914d\u7f6e\u6587\u4ef6\u793a\u4f8b\uff1a\n\n```bash\npipenv run python -m pytest_android download --init\n```\n\n\u5982\u679c\u5df2\u7ecf\u624b\u52a8\u521b\u5efa\uff0c\u6216\u8005\u60f3\u91cd\u65b0\u4e0b\u8f7d\u6307\u5b9a\u7684\u6587\u4ef6\uff0c\u53ef\u4ee5\u9644\u52a0\u5bf9\u5e94\u7684\u53c2\u6570\uff1a\n\n```bash\npipenv run python -m pytest_android download --pytest.ini\npipenv run python -m pytest_android download --config.yaml\n```\n\n\n\n> \u5f53\u672c\u5730\u6587\u4ef6\u4e0e\u793a\u4f8b\u6587\u4ef6\u4e0d\u4e00\u81f4\u65f6\uff0c\u4f1a\u63d0\u793a\u662f\u5426\u8986\u76d6\uff0c\u53ef\u4ee5\u9009\u62e9N\u7136\u540e\u624b\u52a8\u5408\u5e76\u3002\n\n\n\n#### 1.2 \u6839\u636e\u9700\u6c42\u8c03\u6574\u914d\u7f6e[\u53ef\u9009]\n\n\u5982\u679c\u4f7f\u7528 allure \u751f\u6210\u62a5\u544a\uff0c\u5e76\u5b89\u88c5\u4e86\u5bf9\u5e94\u4f9d\u8d56\uff0c\u53ef\u4ee5\u901a\u8fc7`--alluredir`\u6307\u5b9a\u62a5\u544a\u7684\u8def\u5f84\uff0c\u901a\u8fc7`--clean-alluredir`\u6307\u5b9a\u5f00\u59cb\u524d\u662f\u5426\u6e05\u7406\u5386\u53f2\u6570\u636e\u3002\u66f4\u591a\u53c2\u6570\u53ef\u53c2\u8003[\u63d2\u4ef6\u6587\u6863](https://docs.qameta.io/allure/#_pytest)\n\n\u5982\u679c\u501f\u52a9 pytest-rerunfailures \u63d2\u4ef6\u5b9e\u73b0\u5931\u8d25\u91cd\u8bd5\uff0c\u53c2\u8003[\u63d2\u4ef6\u6587\u6863](https://github.com/pytest-dev/pytest-rerunfailures)\uff0c\u6dfb\u52a0`--reruns`\n\n\u5176\u4ed6\u8bf8\u5982 log \u3001markers\uff0c\u548c\u7b2c\u4e09\u65b9\u63d2\u4ef6\u914d\u7f6e\uff0c\u6839\u636e\u9700\u8981\u53c2\u8003\u5bf9\u5e94\u6587\u6863\u3002\n\n\n\n### 2. \u7f16\u5199\u7528\u4f8b\n\n#### 2.1 \u53ef\u7528\u7684Fixtures\n\n\u6b64\u5904\u6587\u6863\u53ef\u80fd\u66f4\u65b0\u4e0d\u53ca\u65f6\uff0c\u901a\u8fc7\u6267\u884c\u547d\u4ee4`python -m pytest --fixtures`\uff0c\u53ef\u4ee5\u5217\u51fa\u6240\u6709 fixtures \u53ca\u5176\u6700\u65b0\u8bf4\u660e\u6587\u6863\u3002\n\n| Name | Scope | Autouse | Description |\n| :------------- | :------: | :-----: | :--------------------------------------------- |\n| driver | session | True | \u521d\u59cb\u5316\u8bbe\u5907 |\n| show_case_name | function | True | toast \u63d0\u793a\u663e\u793a\u7528\u4f8b\u63cf\u8ff0\u6216\u540d\u5b57\uff0c\u4fbf\u4e8e\u4e86\u89e3\u8fdb\u5ea6 |\n| app_start | function | True | \u542f\u52a8 app \uff0c\uff08\u4ec5\uff09\u901a\u8fc7\u5f53\u524d app \u5305\u540d\u5224\u65ad\u662f\u5426\u542f\u52a8 |\n\n\u6839\u636e pytest \u7684[\u52a0\u8f7d\u987a\u5e8f](https://docs.pytest.org/en/latest/writing_plugins.html#plugin-discovery-order-at-tool-startup)\uff0c\u63d2\u4ef6\u4e2d\u5b9a\u4e49\u7684 fixture \u662f\u53ef\u4ee5\u88ab `conftest.py`\u548c\u672c\u5730\u63d2\u4ef6`pytest_plugins `\u8986\u76d6\u7684\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5982\u679c\u5177\u4f53\u5230\u9879\u76ee\u65f6\u4e0d\u6ee1\u8db3\u9700\u6c42\uff0c\u53ef\u4ee5\u5728\u5de5\u7a0b\u5185\u65b0\u5efa`conftest.py`\u6587\u4ef6\uff0c\u7f16\u5199\u540c\u540d fixture\uff0c\u4fee\u6539`scope`\u3001`autoues`\u548c\u5176\u5177\u4f53\u884c\u4e3a\u3002\n\n\n\n#### 2.2 \u7f16\u5199\u7528\u4f8b\n\n\u65b0\u5efa\u6587\u4ef6 `test_demo.py`\uff0c\u8f93\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a\n\n```python\n#!/usr/bin/env python\n# encoding: utf-8\nfrom uiautomator2 import UIAutomatorServer\n\n\ndef test_233(driver: UIAutomatorServer):\n print(driver.device_info)\n```\n\n\n\n\u8fd0\u884c\uff1a\n\n```bash\npipenv run python -m pytest\n```\n\n\n\n## Issues\n\n\u5982\u679c\u63d2\u4ef6\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u901a\u8fc7 [github issues](https://github.com/edsion1107/pytest-android/issues) \u63d0\u4ea4\u3002\n\n\n\n## License\n\nDistributed under the terms of the [MIT](LICENSE) license, \"pytest-android\" is free and open source software.\n\n\u6839\u636e[MIT](LICENSE)\u8bb8\u53ef\u6761\u6b3e\u5206\u53d1\uff0c\u201cpytest-android\u201d\u662f\u514d\u8d39\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/edsion1107/pytest-android", "keywords": "", "license": "MIT", "maintainer": "edsion", "maintainer_email": "edsion@i1hao.com", "name": "pytest-android", "package_url": "https://pypi.org/project/pytest-android/", "platform": "", "project_url": "https://pypi.org/project/pytest-android/", "project_urls": { "Homepage": "https://github.com/edsion1107/pytest-android" }, "release_url": "https://pypi.org/project/pytest-android/2019.2a3/", "requires_dist": [ "pytest", "pytest-variables", "progressbar2", "requests-download", "retry", "uiautomator2", "pillow ; extra == 'allure'", "allure-pytest ; extra == 'allure'", "hjson ; extra == 'hjson'", "pytest-rerunfailures ; extra == 'rerunfailures'", "weditor ; extra == 'weditor'", "PyYAML ; extra == 'yaml'" ], "requires_python": "~=3.6", "summary": "This fixture provides a configured \"driver\" for Android Automated Testing, using uiautomator2.", "version": "2019.2a3" }, "last_serial": 4849911, "releases": { "2019.1a3": [ { "comment_text": "", "digests": { "md5": "4b5652b4b5cae2ac4030cf8045bc9ce2", "sha256": "9a29db61d1b2a2cb55bf5b80563777f047209c2ca4c46fc7c45eedc9e30197b8" }, "downloads": -1, "filename": "pytest-android-2019.1a3.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "4b5652b4b5cae2ac4030cf8045bc9ce2", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 20787, "upload_time": "2019-01-07T10:50:23", "url": "https://files.pythonhosted.org/packages/87/98/880d0d2308db08de323e7026ebd28d717097280e12d64edbe3a5d1fffaf7/pytest-android-2019.1a3.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "2c05ec8c68f46af706a434f86bf247cf", "sha256": "8473d7160f794727863c35645cb91fe55d6a2f68c48dbfb1212a3f29a4cb48c3" }, "downloads": -1, "filename": "pytest_android-2019.1a3-py3-none-any.whl", "has_sig": false, "md5_digest": "2c05ec8c68f46af706a434f86bf247cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 22087, "upload_time": "2019-01-07T10:50:21", "url": "https://files.pythonhosted.org/packages/dc/99/e3ca828b5df2bfda736d892065d4d87cb8d9df25637f8a8806b718756bf5/pytest_android-2019.1a3-py3-none-any.whl" } ], "2019.1a4": [ { "comment_text": "", "digests": { "md5": "b03f13e099bbad077a7a2bfa298da77b", "sha256": "4af3aeb9828dd78f667735c72e0d4c7843ca7ea93c5befc200309fa36440e68b" }, "downloads": -1, "filename": "pytest-android-2019.1a4.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "b03f13e099bbad077a7a2bfa298da77b", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19786, "upload_time": "2019-01-07T11:55:23", "url": "https://files.pythonhosted.org/packages/7d/4c/431ae9c0f150ab50364cf822ab52200fa7f335ebe86aa50a916e45eb3f11/pytest-android-2019.1a4.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "7eee8ac2b8ecc3a2cd9c0e59587ed73f", "sha256": "c9b14cecd3951d8dc14623c63e3646d528bf5bfcd478801b7dd039a636254ac4" }, "downloads": -1, "filename": "pytest_android-2019.1a4-py3-none-any.whl", "has_sig": false, "md5_digest": "7eee8ac2b8ecc3a2cd9c0e59587ed73f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 21822, "upload_time": "2019-01-07T11:55:21", "url": "https://files.pythonhosted.org/packages/cd/0b/34b6b2de89c80dfb4f126460cbcd2016c06b0fa97986f12466c33a95fc6e/pytest_android-2019.1a4-py3-none-any.whl" } ], "2019.1a5": [ { "comment_text": "", "digests": { "md5": "32363e60cd6cc5edfa621bbea2067b3e", "sha256": "6a6a7648cf83e5ec8fd8b3362e61a7db9b111443a787ec49b6f210a298e44263" }, "downloads": -1, "filename": "pytest-android-2019.1a5.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "32363e60cd6cc5edfa621bbea2067b3e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19721, "upload_time": "2019-01-07T13:05:57", "url": "https://files.pythonhosted.org/packages/8e/0d/e18d8f63c0c5148bb9fcf05fffb44f8217064e48530a8cce37f8d1f087fc/pytest-android-2019.1a5.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "c386e27054f7fa98348af0d88d312f5b", "sha256": "bfcfdf61b50aa8d9130d1170851ded95a2d35ac89d5c2a7a384464b7d45053a1" }, "downloads": -1, "filename": "pytest_android-2019.1a5-py3-none-any.whl", "has_sig": false, "md5_digest": "c386e27054f7fa98348af0d88d312f5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 21856, "upload_time": "2019-01-07T13:05:54", "url": "https://files.pythonhosted.org/packages/a8/e4/c788482e7acbed7492db65628a27f33cd7f9eff2140bddf5aa66866220a6/pytest_android-2019.1a5-py3-none-any.whl" } ], "2019.1a6": [ { "comment_text": "", "digests": { "md5": "42dad54ef602f39fb42210a6312ea9ef", "sha256": "ddfb7da4696f00e58d242705511ce9c292d6ead8f0119d1aee0b4610177098f4" }, "downloads": -1, "filename": "pytest-android-2019.1a6.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "42dad54ef602f39fb42210a6312ea9ef", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19980, "upload_time": "2019-01-12T10:03:45", "url": "https://files.pythonhosted.org/packages/5d/ad/5ce73e09690c2dcede871e02d2c5263441e7036b44a327c79f96438ba7d4/pytest-android-2019.1a6.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "71d365c2856c2e42a2c520839ef24490", "sha256": "bf364e6370732938fc1f9de01f0dade4e9f9bbd23f9fa0661d32a406ee734dae" }, "downloads": -1, "filename": "pytest_android-2019.1a6-py3-none-any.whl", "has_sig": false, "md5_digest": "71d365c2856c2e42a2c520839ef24490", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 22307, "upload_time": "2019-01-12T10:03:42", "url": "https://files.pythonhosted.org/packages/f6/6e/53d5e5b6b02113bc934bf602e483664f86b2e5019ded7224f79859cd449a/pytest_android-2019.1a6-py3-none-any.whl" } ], "2019.1a7": [ { "comment_text": "", "digests": { "md5": "1e3c7a6e2d510ec3ce047724a3452c7f", "sha256": "7a6b027e9774c18c697b2863c4af0c394a270afa39acd130e359fd0c1c5872ff" }, "downloads": -1, "filename": "pytest-android-2019.1a7.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "1e3c7a6e2d510ec3ce047724a3452c7f", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 20396, "upload_time": "2019-01-12T12:46:44", "url": "https://files.pythonhosted.org/packages/3b/2c/3256119e325bb1c4529862431e1bd33750760268a182d8350038e0a92a9f/pytest-android-2019.1a7.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "847bf296250edcff10c266c1dd3af355", "sha256": "b44a1d9e10a4d2e576edc19b7fed4f97b5161844273afedabbf647105824d357" }, "downloads": -1, "filename": "pytest_android-2019.1a7-py3-none-any.whl", "has_sig": false, "md5_digest": "847bf296250edcff10c266c1dd3af355", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 22725, "upload_time": "2019-01-12T12:46:41", "url": "https://files.pythonhosted.org/packages/93/47/3b74ee37c03cd00b9ebb89742bfc01a035a4d559f13f7a2d78609576429f/pytest_android-2019.1a7-py3-none-any.whl" } ], "2019.1a8": [ { "comment_text": "", "digests": { "md5": "4abe751130f81b13b58991916f611974", "sha256": "ab0f6dd41062d249f9f61f99d1fed2ef804a802f1c145fcc4bf898ca64ae38e8" }, "downloads": -1, "filename": "pytest-android-2019.1a8.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "4abe751130f81b13b58991916f611974", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 20862, "upload_time": "2019-01-22T09:46:01", "url": "https://files.pythonhosted.org/packages/f8/f7/7b23c3175b4a6e86b8b6f580848241c41ad46da212e4ff9fb114ba1d75ae/pytest-android-2019.1a8.macosx-10.13-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "4d45e414c86ac1c97ca2f3fd90135ab6", "sha256": "3245d1ff8a42528b21e113e3993ef7d1da944f40a21dfeae531f6c61f4d94727" }, "downloads": -1, "filename": "pytest_android-2019.1a8-py3-none-any.whl", "has_sig": false, "md5_digest": "4d45e414c86ac1c97ca2f3fd90135ab6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 23187, "upload_time": "2019-01-22T09:45:56", "url": "https://files.pythonhosted.org/packages/28/c4/cd1c3effedd0fa38012ca80a887a4aeba0021a8a3f039eb6aaa8f3f68261/pytest_android-2019.1a8-py3-none-any.whl" } ], "2019.2a2": [ { "comment_text": "", "digests": { "md5": "d96a299a40a374fed75b23d9a8db2fba", "sha256": "4364f7df3d5e91a68325b4ab26fd238c51c6243c0e6466b004997fe7abb6465c" }, "downloads": -1, "filename": "pytest_android-2019.2a2-py3-none-any.whl", "has_sig": false, "md5_digest": "d96a299a40a374fed75b23d9a8db2fba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 26817, "upload_time": "2019-02-17T08:22:37", "url": "https://files.pythonhosted.org/packages/22/1e/19659f8ac1df921cfaddbd56c47b889b14d7763e5f93f4927358aa2d0504/pytest_android-2019.2a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed0a9cd49a5cff27765121dca576eff6", "sha256": "6f8b633923bca3cbe0ed79e79d36af169463f1c0cb6799042b4ad45085f6fc0d" }, "downloads": -1, "filename": "pytest-android-2019.2a2.tar.gz", "has_sig": false, "md5_digest": "ed0a9cd49a5cff27765121dca576eff6", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 44332, "upload_time": "2019-02-17T08:22:39", "url": "https://files.pythonhosted.org/packages/21/7e/90a79264f7c2f6c263f2d826dfc3770e692d285d3b4e1a8da3f307331946/pytest-android-2019.2a2.tar.gz" } ], "2019.2a3": [ { "comment_text": "", "digests": { "md5": "9db0f54ff03853457608d77676a33d72", "sha256": "66ff05e6c8d557811d9c4e4d58c2bdf27a4a3510b6dfaeb9ed6805d2a6b2b280" }, "downloads": -1, "filename": "pytest_android-2019.2a3-py3-none-any.whl", "has_sig": false, "md5_digest": "9db0f54ff03853457608d77676a33d72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 27493, "upload_time": "2019-02-21T11:59:50", "url": "https://files.pythonhosted.org/packages/3d/a0/f451589a8d2a5b520452b0ad1d9df70d1fa19c7fc149f6fd936125f01290/pytest_android-2019.2a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "245d2c9af0dec42a3923c2889aeb7b5a", "sha256": "042bb6e6c3428e477a889db45a252659f6d43d509b5de54e214ab4eb8d6ef2d0" }, "downloads": -1, "filename": "pytest-android-2019.2a3.tar.gz", "has_sig": false, "md5_digest": "245d2c9af0dec42a3923c2889aeb7b5a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 45399, "upload_time": "2019-02-21T11:59:52", "url": "https://files.pythonhosted.org/packages/97/dc/b1589d1c329166f51e2fc98fc9fd6accf7c32e72bb5e74e6f2d8c9a96198/pytest-android-2019.2a3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9db0f54ff03853457608d77676a33d72", "sha256": "66ff05e6c8d557811d9c4e4d58c2bdf27a4a3510b6dfaeb9ed6805d2a6b2b280" }, "downloads": -1, "filename": "pytest_android-2019.2a3-py3-none-any.whl", "has_sig": false, "md5_digest": "9db0f54ff03853457608d77676a33d72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 27493, "upload_time": "2019-02-21T11:59:50", "url": "https://files.pythonhosted.org/packages/3d/a0/f451589a8d2a5b520452b0ad1d9df70d1fa19c7fc149f6fd936125f01290/pytest_android-2019.2a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "245d2c9af0dec42a3923c2889aeb7b5a", "sha256": "042bb6e6c3428e477a889db45a252659f6d43d509b5de54e214ab4eb8d6ef2d0" }, "downloads": -1, "filename": "pytest-android-2019.2a3.tar.gz", "has_sig": false, "md5_digest": "245d2c9af0dec42a3923c2889aeb7b5a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 45399, "upload_time": "2019-02-21T11:59:52", "url": "https://files.pythonhosted.org/packages/97/dc/b1589d1c329166f51e2fc98fc9fd6accf7c32e72bb5e74e6f2d8c9a96198/pytest-android-2019.2a3.tar.gz" } ] }