最新App自动化测试之Appium环境搭建以及python自动化脚本demo演示

举报
小博测试成长之路 发表于 2022/01/14 23:20:34 2022/01/14
【摘要】 Appium简介 Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。支持多种语言。 Appium的核心是一个web服务器,它提供了一套REST的接口。它接收到客户端的连接,监听到命令,接着在移动设备上执行这个命令,然后将执行结果放到HTTP响...

Appium简介

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。支持多种语言。

Appium的核心是一个web服务器,它提供了一套REST的接口。它接收到客户端的连接,监听到命令,接着在移动设备上执行这个命令,然后将执行结果放到HTTP响应中返还给客户端。

对于Android系统,Appium使用的是UiAutomator2 Driver来驱动客户端设备,对于IOS系统,目前使用的是XCUITest。Appium同时还包含了Windows Driver和Mac Driver支持windows和Mac桌面应用的测试。

 

Appium环境搭建

  1. java1.8+版本

  2. Android SDK

  3. Appium Desktop

  4. Appium Client

  5. Android驱动

  • JAVA环境变量配置:要配置JAVA_HOME, PATH,classpath ,具体配置百度java环境配置自行解决,这里不再一一列举。

  • SDK环境变量配置:

先下载安卓的sdk工具:

http://tools.android-studio.org/index.php/sdk

也可以从我网盘下载我已经下载好的包:

链接:https://pan.baidu.com/s/1x73i2wlBFIFDb3yTB8AUmw

提取码:1234

配置环境变量:ANDROID_HOME,然后再PATH里面加入tools和platform-tools两个路径:

%ANDROID_HOME%\tools;

%ANDROID_HOME%\platform-tools;

配置好后,在命令行窗口输入adb version 即可检查是否配置好。

  • Appium Desktop 安装

https://github.com/appium/appium-desktop/releases 下载安装包  (也可以通过上面的网盘下载),下载完之后,双击进行安装即可。

  • Appium Server 安装

先安装nodejs,配置环境变量。然后使用命令安装appium:

npm install -g appium 

通过上面这个命令安装的时候,下载很慢,经常失败或者卡住,可以使用cnpm进行安装:

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install -g appium 

安装完成后,命令行输入appium即可启动appium服务。

 

到此,其实appium的环境已经搭建完毕。接下来可以使用Appium Client来来模拟自动操作app。

安装基于python语言的appium client:

pip install appium-python-client

获取要测试的当前打开app的应用包名和activity名称:

adb shell dumpsys window w |findstr \/ |findstr name=
 

 

安装Android驱动

将手机用数据线连接电脑,打开手机开发者模式下的调试模式,然后在电脑上cmd窗口输入adb devices ,能够输出设备的信息即可:

 

录制脚本

启动Appium Desktop,点击Start server

在进入的页面中点击Start Inspector Session,进入录制页面

按照下图输入手机对应的系统以及版本号的相关信息,然后点击Start Session.

 

 

接下来执行一段脚本来验证环境是否搭建成功,是否可以正常操作app,以华为P20手机上的系统自带的计算器软件为例,演示一下如何操作app的一个最简单的demo。

 

开始录制,录制操作见下图:

选中元素后,点击右边相应的操作。Tap为点击元素,Send keys为文本框录入,Clear为清空文本框。

 

录制出来的脚本如下:


  
  1. # This sample code uses the Appium python client
  2. # pip install Appium-Python-Client
  3. # Then you can paste this into a file and simply run with Python
  4. from appium import webdriver
  5. caps = {}
  6. caps["platformName"] = "Android"
  7. caps["platformVersion"] = "6.0.1"
  8. caps["deviceName"] = "C9CBY15427001302"
  9. caps["deviceName"] = "C9CBY15427001302"
  10. caps["appPackage"] = "com.android.calculator2"
  11. caps["ensureWebviewsHavePages"] = True
  12. driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
  13. el1 = driver.find_element_by_accessibility_id("1")
  14. el1.click()
  15. el2 = driver.find_element_by_accessibility_id("加")
  16. el2.click()
  17. el3 = driver.find_element_by_accessibility_id("2")
  18. el3.click()
  19. el4 = driver.find_element_by_accessibility_id("等于")
  20. el4.click()
  21. driver.quit()
运行上面的脚本,就会看到通过代码可以启动华为手机上的计算器进行相关的操作 。


 

说明:

1、如果不需要录制的话,是可以不用在电脑上安装Appium Desktop的,直接安装Appium Server即可。运行脚本的时候,会需要在手机上安装一个Appium Setting的软件之后才可操作APP。

2、安卓app除了使用Appium Desktop里面的Inspector功能定位/录制元素之外,还可以使用android sdk目录下的tools目录下的uiautomatorviewer.bat进行元素定位,然后手写脚本即可。

3、本文只是演示通过appium操作安卓手机的一个简单的demo教程,在实际实战过程中还会遇到很多的问题 ,比如系统权限、横竖屏处理、Toast弹窗等问题。

文章来源: xiaobotester.blog.csdn.net,作者:小博测试成长之路,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaobotester.blog.csdn.net/article/details/110294326

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。