跨平台的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 codemake 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 Distributions
Built Distribution
File details
Details for the file HA4T-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: HA4T-0.0.1-py3-none-any.whl
- Upload date:
- Size: 55.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92efb0c7f6ed91820827917eb06882e67d905108029fbf6aacae01a4bb64167b |
|
MD5 | a51d3367e5caef04705afb2740324d53 |
|
BLAKE2b-256 | cff2560c7a3e701bc075350b29e4fbd5cf84c59d64619ee01cd5ab7426b15f05 |