Link
Environment
Python3:
brew install python3
pip3 install <name>
- Appium-Python-Client
- Jinja2
- PyYAML
- pytest
- pytest-allure-adaptor
- watchdog
- termcolor (not needed)
Appium
npm install -g appium
npm install -g appium-doctor
appium-doctor
to ensure your system is set up properly
Allure-Commandline
Allure Framework is a flexible lightweight multi-language test report tool with the possibility to add screenshots, logs and so on. It provides modular architecture and neat web reports with the ability to store attachments, steps, parameters and many more.
brew tap qatools/formulas
brew install allure-commandline
TODO: use Jenkins Plugin
Run Test
start appium service:
appium --address 127.0.0.1 --port 4723 --log "log_path" --log-timestamp --local-timezone --session-override
run test:
cd project_path
python3 run.py
Html-Report will be generate on project_path/report/html/index.html
report shot:
Write Test Case
开启watchdog
cd project_path
python3 watch_dog.py
打开 project_path/page/yaml/xxx_page.yaml
,以下面模板定位元素:
---
LoginPage:
dec: 登录页面
locators:
-
name: 注册
timeOutInSeconds: 20
type: name
value: 注册
写测试case
class TestLogin:
def test_login(self, action: ElementActions):
L.d('test_login')
account = Steps.get_account()
action.click(HomePage.登录入口)
action.text(LoginPage.账户, account[0])
action.text(LoginPage.密码, account[1])
action.sleep(1)
action.click(LoginPage.登录)
assert action.is_toast_show('欢迎回来')
ChangeLog
- 将原先所有元素全都写在
pages.yaml
中方式改为可拆分的形式(xxx_page.yaml
),方便管理.详见:/page/yaml/
TODO
- 兼容iOS
- 集成 stf
License
MIT