Appium之Python运行环境搭建 Part2

by:授客 QQ:1033553122

实践环境

参见 Appium之Python运行环境搭建 Part1

环境部署

1、安装Android SDK

安装好后,配置ANDROID_HOME环境变量,设置为Android SDK安装路径(例中:D:\Program Files (x86)\Android\android-sdk)

2、安装其它SDK相关软件包

安装好Android SDK后,选择打开Android SDK Manager(在Android SDK目录下,例中D:\Program Files (x86)\Android\android-sdk)

选好后点击 接受协议Accept License,Install

参考链接:

https://www.zhihu.com/question/31935836

http://www.cnblogs.com/kangjianwei101/p/5621238.html

3、安装appium-uiautomator2-driver

cmd打开控制台,输入以下命令安装

> npm install -g appium-uiautomator2-driver

参考链接:

http://appium.io/docs/en/drivers/android-uiautomator2/index.html

https://github.com/appium/appium-uiautomator2-driver

4、开启appium、appium-desktop(如果没有开启的话)

其它准备工作

开启手机(模拟器)USB调试模式

打开目标程序主页,比如图示计算机

获取APK包名及资源定位器

双击打开android_sdk_install_home\tools\uiautomatorviewer.bat

(例中:D:\Program Files (x86)\Android\android-sdk\tools\uiautomatorviewer.bat
点选图示圈选按钮中任何一个

如上图,鼠标移动到目标控件,比如数字按钮7,可看到程序所在包名:package 为com.android.calculator2,数字按钮7对应资源IDpackage 为com.android.calculator2:id/digit_7

活动名称获取

通过adb logcat > log.txt 获取的

 

代码测试

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

__author__ = 'laifuyu'

import time
from appium import  webdriver

if __name__ == '__main__':
    desired_caps = {
        "platformName":"Android"
        "platformVersion":"5.0",
        "deviceName":"Android Emulator",
        "automationName":"UiAutomator2",
        # "app":"D:\\apks\\ai-sorting_v3.5.5_sit_debug_20180423114313.apk",
        "appPackage":"com.android.calculator2",
        "appActivity":".Calculator"
    }

driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    digit7 = driver.find_element_by_id('com.android.calculator2:id/digit_7')
    digit7.click()

result = driver.find_element_by_id('com.android.calculator2:id/result')
    result.send_keys('+')

time.sleep(30)

driver.quit()

运行结果:

说明:

platformName  设置手机操作系统平台(iOS, Android, FirefoxOS)

platformVersion  设置手机操作系统版本

deviceName    设置手机设备、模拟器类型。比如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等,IOS操作系统上,该设备名必须是通过instruments -s devices命令返回的合法设备。对于Android操作系统来说,该属性虽然是必填,但是缺是被忽视的。

automationName  设置使用哪个自动化引擎。对于Android:Appium(默认)、Selendroid 、UiAutomator2 、对于IOS:XCUITest

app:设置apk软件包的绝对路径,或者.ipa ios包的http url,或者是一个包含一个.ipa、.apk软件包的.zip文件绝对路径。注意,似乎是这样的,如果手机设备、手机模拟器上没安装该软件包,则可设置该属性,运行时,会自动把该安装包安装到手机设备、模拟器上。 Appium会先尝试把这个app二进制文件安装到手机设备或者模拟器中。 注意,如果指定了appPackage和appActivity属性,则该可以不设置该属性。

eg:

/abs/path/to/my.apk

http://myapp.com/app.ipa

appPackage:设置Android app JAVA软件包

appActivity:想启动的Android activity名称。通常需要加前缀. 比如.MainActivity而不是MainActivity。

eg:

MainActivity

.Settings

参考链接:

https://github.com/appium/appium-uiautomator2-driver/blob/master/README.md

https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py

https://blog.csdn.net/xyz846/article/details/50750701

自动化测试 Appium之Python运行环境搭建 Part2的更多相关文章

  1. 自动化测试 Appium之Python运行环境搭建 Part1

    Appium之Python运行环境搭建 Part1 by:授客 QQ:1033553122 实践环境 Win7 Python 3.4.0 JAVA JDK 1.8.0_121 node.js8.11. ...

  2. 教女朋友学Python运行环境搭建

    下班比较早,吃了饭没什么事,就和女朋友一起研究了Python. 编程语言有很多,为什么选择它呢?因为它火吧,没什么好解释的,下面开始第一步,环境搭建.网上的教程实在太多,各种系统的各种版本,本地链接下 ...

  3. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  4. python学习之python开发环境搭建

    Python简介 Python是一种面向对象.解释型计算机程序设计语言.Python语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...

  5. eclipse python开发环境搭建

    eclipse python开发环境搭建[非原创] 1.在www.eclipse.org官网下载Eclipse Classic 4.2.2,Win7 64位下载eclipse-SDK-4.2.2-wi ...

  6. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  7. python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  8. python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

  9. selenium+python爬虫环境搭建

    前言: 准备使用selenium爬取网站数据,先搭建selenium+python爬虫环境搭建 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本,IDE为pych ...

随机推荐

  1. Protocol Buffers(1):序列化、编译与使用

    目录 序列化与反序列化 Protocol Buffers概览 Protocol Buffers C++ 编译 Protocol Buffers C++ 使用 Protocol Buffers的可读性 ...

  2. 用markdown + html写一封简历

    0. 前言 1. 阶段1 - 确定需要几个模块 2. 阶段2 - 使用纯文字填充简历 3. 阶段3 - 预留空格 4. 阶段4 - 文章垂直方向的调整 5. 阶段5 - 居中对齐 6. 阶段6 - 加 ...

  3. JavaScript 原型的深入指南

    摘要: 理解prototype. 原文:JavaScript 原型的深入指南 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 不学会怎么处理对象,你在 JavaScript 道路就就走 ...

  4. SQLServer存储过程自制数据字典

    相信很多小伙伴都对[数据字典]很头疼. 小编刚入职的时候,老大丢一个项目过来,就一个设计文档,数据字典木有,字段说明木有, 全部都需要靠“联系上下文”来猜.所以小伙伴门一定要养成说明字段的习惯哦. 说 ...

  5. falkonry

    falkonry.com/ 2019 Top 100 AI companies in the world

  6. JVM内存结构/JVM运行时数据区,以及堆内存的划分

    1.程序计数器: 程序计数器是线程私有的内存,JVM多线程是通过线程轮流切换并分配处理器执行时间的方式实现的,当线程切换后需要恢复到正确的执 行位置(处理器)时,就是通过程序计数器来实现的.此内存区域 ...

  7. 部署远程jupyter

    1.直接执行 pip3 install jupyter 2.无法执行jupyter notebook后报错 “jupyter:command not found” 3.找到安装的位置,一般都在pyth ...

  8. MySQL学习(四)Join 等开发常用的操作 --- 2019年2月

    1.查数据太多不会把内存用光 InnoDB 的数据是保存在主键索引上,然后索引树分割保存在数据页上,数据页存在内存中/磁盘.change buffer 就是先把修改操作记录,然后读数据的时候,内存没有 ...

  9. Harbor配置https认证

    Harbor配置https认证由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求.但是,强烈建议为任何生产环境启用安全性.因为测试使用,使用自签名证书: 1.创建CA证书 首先创建个目 ...

  10. 【Android Studio安装部署系列】四、Android SDK目录和作用分析

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android SDk Tool软件开发工具包(software development kit).被软件开发工程师用于为特定的软件 ...