All Projects → mio4kon → Appium Lich

mio4kon / Appium Lich

Test Automation Framwork base on appium,python3

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Appium Lich

sahagin-java
Sahagin generates highly readable Selenium/Appium test report from your test code.
Stars: ✭ 26 (-74%)
Mutual labels:  appium
Appiumtestdistribution
A tool for running android and iOS appium tests in parallel across devices... U like it STAR it !
Stars: ✭ 764 (+664%)
Mutual labels:  appium
Mobileautomationframework
Single code base framework to test android and iOS app using appium (v6.1.0), maven, testng,java. Option to start appium server programmatically.
Stars: ✭ 66 (-34%)
Mutual labels:  appium
mcloud
Mobile farm ecosystem for Android and iOS devices
Stars: ✭ 32 (-68%)
Mutual labels:  appium
Appium Docker Android
Appium Server setup to automate android testing on real devices
Stars: ✭ 360 (+260%)
Mutual labels:  appium
Appcrawler
基于appium的app自动遍历工具
Stars: ✭ 925 (+825%)
Mutual labels:  appium
Flashcards
Unofficial mobile client for https://www.duolingo.com/
Stars: ✭ 24 (-76%)
Mutual labels:  appium
Coteafs Appium
📱 Wrapper Appium Framework in Java which supports Automation of Mobile and Tablet apps.
Stars: ✭ 93 (-7%)
Mutual labels:  appium
Carina
Carina automation framework: Web, Mobile, API, DB
Stars: ✭ 549 (+449%)
Mutual labels:  appium
Java.appium
Mobile test automation using Appium in Java
Stars: ✭ 59 (-41%)
Mutual labels:  appium
Robotframework Appiumlibrary
AppiumLibrary is an appium testing library for RobotFramework
Stars: ✭ 259 (+159%)
Mutual labels:  appium
Appium Desktop
Appium Server in Desktop GUIs for Mac, Windows, and Linux
Stars: ✭ 3,870 (+3770%)
Mutual labels:  appium
Appium Selenium Starter
Open source, complete and easy to use QA Automation platform
Stars: ✭ 30 (-70%)
Mutual labels:  appium
sonic-agent
🎉Agent of Sonic cloud real machine testing platform. Sonic云真机测试平台Agent端。
Stars: ✭ 191 (+91%)
Mutual labels:  appium
Nativescript Dev Appium
A package to help with writing and executing e2e Appium tests in NativeScript apps
Stars: ✭ 69 (-31%)
Mutual labels:  appium
Autonomx
Autonomx provides a complete testing platform for UI (Web, iOS, Android, Win) and API testing. It provides a feature rich and viable testing solution for end to end testing. It's designed to be fast, scalable, reliable and adaptable to any requirements for ever growing projects.
Stars: ✭ 14 (-86%)
Mutual labels:  appium
Appium Template
Appium template for android testing training
Stars: ✭ 5 (-95%)
Mutual labels:  appium
Test Samples
Sample test scripts and applications for Bitbar Cloud
Stars: ✭ 93 (-7%)
Mutual labels:  appium
Appium Docker Demo
Appium sample test running on real devices inside docker container
Stars: ✭ 79 (-21%)
Mutual labels:  appium
Appium Jenkins Demo
Run Appium tests on Jenkins
Stars: ✭ 40 (-60%)
Mutual labels:  appium

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].