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

Posted 软件测试小dao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试 Appium之Python运行环境搭建 Part2相关的知识,希望对你有一定的参考价值。

实践环境

参见 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

最后:【可能给予你一定的帮助】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流:644956177 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

以上是关于自动化测试 Appium之Python运行环境搭建 Part2的主要内容,如果未能解决你的问题,请参考以下文章

Appium python自动化测试系列之appium环境搭建

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

Appium&Python自动化测试-环境搭建之安卓SDK

Mac&Appium&Python自动化测试-环境搭建之安卓SDK

Appium--环境搭建

mac appium python 自动化环境搭建遇到的问题