自动化测试 Appium之Python运行环境搭建 Part2

Appium之Python运行环境搭建 Part2html

by:授客 QQ:1033553122python

实践环境android

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

 

环境部署git

一、安装Android SDKgithub

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

 

二、安装其它SDK相关软件包npm

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

 

 

 

 

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

 

 

参考连接:

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

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

 

三、安装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

 

四、开启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

相关文章
相关标签/搜索