前言:
这是让你掌握 App 自动化的文章

一.前期准备

本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接。

  1、安装Node.js:立即下载
  2、安装Appium:立即下载
  3、安装Android SDK:立即下载
  4、安装Appium-client:

#> 打开CMD 输入:
#> npm install wd

最后通过CMD命令行中输入:【appium-doctor】命令验证是否安装完成

#> appium-doctor

# 输出:
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor ? The Node.js binary was found at: C:\Program Files\nodejs\node.exe
info AppiumDoctor ? Node version is 6.11.2
info AppiumDoctor ? ANDROID_HOME is set to: D:\android-sdk-windows
info AppiumDoctor ? JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_161
info AppiumDoctor ? adb exists at: D:\android-sdk-windows\platform-tools\adb.exe
info AppiumDoctor ? android exists at: D:\android-sdk-windows\tools\android.bat
info AppiumDoctor ? emulator exists at: D:\android-sdk-windows\tools\emulator.exe
info AppiumDoctor ? Bin directory of %JAVA_HOME% is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor

二.前期准备

本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接。

  1、连上手机

连上手机并非只通过 USB 连接手机

#> adb connect <你的手机 IP >
127.0.0.1:5555 device # 查手机是否已经连上
#> adb devices
List of devices attached
127.0.0.1:5555 device

  2、启动Appium

直接运行Appium——ui,启动

通过CMD命令行启动:

#> Appium
[Appium] Welcome to Appium v1.8.8
[Appium] Appium REST http interface listener started on 0.0.0.0:4723 # 这样就已经启动 Appium 了

本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接。

三. 代码准备

  1、启动APP

本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接。

from appium import webdriver

Android['platformName'] = 'Android'
# 你手机是 IOS or Android 平台
Android['platformVersion'] = '5.0.2'
# 你手机 Android 版本
Android['deviceName'] = 'HuaWei'
# 你手机牌子
Android['appPackage'] = '<你的appPackage>'
Android['appActivity'] = '<你的appActivity>'
# 这两项数据在与你测试的 APP 相关
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', Android)
# 启动测试

  2、APP测试Demo

from appium import webdriver

import unittest

class Test(unittest.TestCase):
"""这是你第一个Appium 自动化测试"""
def setUp(self):
Android['platformName'] = 'Android'
# 你手机是 IOS or Android 平台
Android['platformVersion'] = '5.0.2'
# 你手机 Android 版本
Android['deviceName'] = 'HuaWei'
# 你手机牌子
Android['appPackage'] = '<你的appPackage>'
Android['appActivity'] = '<你的appActivity>'
# 这两项数据在与你测试的 APP 相关
self.Android = webdriver.Remote('http://127.0.0.1:4723/wd/hub', Android)
# 启动测试
def testA(self):
self.Android.quit() if __name__ == '__main__':
unittest.main()

输出:

.
----------------------------------------------------------------------
Ran 1 test in 13.680s OK
[RunEnd in 13.9s]

Code

四.元素&定位

  3.1、找元素

    xxxxxxxxxxxxxxxx

  3.2、定位

    xxxxxxxxxxxxxxxx

【持续更新,See you next time.】

最新文章

  1. Hibernate ——二级缓存
  2. Android:StatFs类 获取系统/sdcard存储空间信息
  3. php提示 Notice: Use of undefined constant name - assumed
  4. LightOj1137 - Expanding Rods(二分+数学)
  5. DNS resolving 占用大量日志
  6. HW2.14
  7. 分布式系统里session同步的那些事儿
  8. Oracle_Flashback_技术_总结
  9. 类名.this与类名.class
  10. tomcat path设置
  11. 【openstack N版】——镜像服务glance
  12. mybatis sql循环的使用
  13. JVM基础知识GC
  14. 上海上传数据重复-sftp端口关闭
  15. Linux 内核编译问题
  16. bigtable原理
  17. Git安装及创建版本库
  18. 使用QFileDiaglog实战designer快速开发
  19. fixed不能罩住下面的内容
  20. Windows2003系统如何设置能让两个人共用一个桌面同时远程控制?

热门文章

  1. Pascal之Hello World
  2. NOIP2018学军中学游记(11.09~11.11)
  3. node入口文件分析和目录初始化
  4. 2018.7.31 oracle rownum的理解
  5. PHP精度问题
  6. 旧文备份:AVR读写EEPROM分析
  7. HTML页面生成ASPX页面
  8. 一篇RxJava友好的文章(二)
  9. jquery 操作css 尺寸
  10. MySQL为何不建议使用null列