Skip to main content

跨平台的UI自动化框架,适用于混合型app

Project description

HA4T 🐍

跨平台的UI自动化框架,适用于混合型app,游戏,web,原生app等,基于 aircv,orc,cdp,uiautomator2,facebook_wda 进行开发

Installation

You can install the package using pip

pip install ha4t

Structure

The project has the following structure

├── .github
│   └── workflows
│       └── test.yml # holds our github action config 
├── .gitignore
├── Makefile
├── README.md
├── setup.py
├── src
│   ├── __init__.py 
│   ├── hello.py 
└── test 
    └── test_hello.py

Code Quality 🧹

We provide two handy commands inside the Makefile, namely:

  • make style to format the code
  • make check_code_quality to check code quality (PEP8 basically)

So far, there is no types checking with mypy. See issue.

Tests 🧪

pytests is used to run our tests.

Publish on PyPi 🚀

Important: Before publishing, edit __version__ in src/init to match the wanted new version.

We use twine to make our life easier. You can publish by using

export PYPI_USERNAME="you_username"
export PYPI_PASSWORD="your_password"
export PYPI_TEST_PASSWORD="your_password_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD

You can also use token for auth, see pypi doc. In that case,

export PYPI_USERNAME="__token__"
export PYPI_PASSWORD="your_token"
export PYPI_TEST_PASSWORD="your_token_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD

Note: We will try to push to test pypi before pushing to pypi, to assert everything will work

CI/CD 🤖

We use GitHub actions to automatically run tests and check code quality when a new PR is done on main.

On any pull request, we will check the code quality and tests.

When a new release is created, we will try to push the new code to PyPi. We use twine to make our life easier.

The correct steps to create a new realease are the following:

  • edit __version__ in src/init to match the wanted new version.
  • create a new tag with the release name, e.g. git tag v0.0.1 && git push origin v0.0.1 or from the GitHub UI.
  • create a new release from GitHub UI

The CI will run when you create the new release.

Q&A

Why no cookiecutter?

This is a template repo, it's meant to be used inside GitHub upon repo creation.

Why reinvent the wheel?

There are several very good templates on GitHub, I prefer to use code we wrote instead of blinding taking the most starred template and having features we don't need. From experience, it's better to keep it simple and general enough for our specific use cases.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ha4t-0.0.3.tar.gz (21.2 MB view details)

Uploaded Source

Built Distribution

HA4T-0.0.3-py3-none-any.whl (21.3 MB view details)

Uploaded Python 3

File details

Details for the file ha4t-0.0.3.tar.gz.

File metadata

  • Download URL: ha4t-0.0.3.tar.gz
  • Upload date:
  • Size: 21.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for ha4t-0.0.3.tar.gz
Algorithm Hash digest
SHA256 7527d86735977e2b71b475b38922da58269ff5553ee3e042cc972253532411ba
MD5 e1835cdc3193b13f057b8952424e51a9
BLAKE2b-256 db9b517f618cc03569c10cb033d3b092d8ce9aa0e1c8478e0120bca3851fbd13

See more details on using hashes here.

File details

Details for the file HA4T-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: HA4T-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 21.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for HA4T-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ed2d1f1c8d6ac9ee3b676cf8a8a31b4d4189d54c2fb97c1e4362a08fb015b53f
MD5 9b0ac770e1c48af403ad91001b0df1a2
BLAKE2b-256 8222efa8484695d04b3657db13b38252ca44fb6874f5082c1b9eab900569f44d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page