Skip to content

Test Automation Framwork base on appium,python3

Notifications You must be signed in to change notification settings

wjzero/appium-lich

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Link

移动端自动化测试系列之一——Appium环境搭建

移动端自动化测试系列之二——pytest入门详解

移动端自动化测试系列之三——Allure测试报告

移动端自动化测试系列之四——生成定位元素

移动端自动化测试系列之五——AppiumLich框架使用

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

more

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

more

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

About

Test Automation Framwork base on appium,python3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%