Robotframework+applium 实现移动端自动化测试(环境搭建)

环境:python2.7、robotframework2.8.5、appium-server(1.22.3-4)、appium-inspect(Appium-Inspector-windows-2023.10.1)(Node.js、.net framework4.5、android-sdk)、夜神模拟器

文章目录

一 环境安装

准备安装包:

python2.7 (链接: https://pan.baidu.com/s/1TZPs-bkCvkABq5pers16ew 提取码: zrvf )
appium-python-client0.28 (链接: https://pan.baidu.com/s/109Al41WV50Wp8UAza7PIhg 提取码: sruj )
robotframework2.8.5(https://pypi.org/project/robotframework/2.8.5/#files)
robotframework-appiumlibrary1.6 (链接: https://pan.baidu.com/s/1n2hjsLmYk4gr8RQ1g2Ky4Q 提取码: nhxm )
Appium-Server-1.22.3-4.exe(链接: https://pan.baidu.com/s/19kxUE-xowL9z_d405u1RcQ 提取码: 31w9 )
Appium-Inspector 2023.10.1.exe(链接: https://pan.baidu.com/s/1tpSaE6uiRRxeE51_xvoRGw 提取码: ists )
Node.js:node-v4.4.7-x64(链接: https://pan.baidu.com/s/1YK0tw6UsLWBwMPY0AQQtzA 提取码: tawk )
.net framework4.5(链接:https://pan.baidu.com/s/1teb3AJ2TOWX-7b-pzGeo9Q 提取码:kh0j )
android-sdk_r24.3.4-windows(链接: https://pan.baidu.com/s/1XwwkNF8CRJTGNVM5jB40qw 提取码: jfk6 )

1.1 python环境

1)推荐版本:python-2.7.12.msi 相对稳定
网络下载路径:https://www.python.org/
2)设置操作系统的环境变量,在PATH最后加上:E:\python\Python27;E:\python\Python27\Scripts;
在这里插入图片描述

安装python测试库 appium-python-client:

pip install appium-python-client==0.28
[图片]
(链接: https://pan.baidu.com/s/109Al41WV50Wp8UAza7PIhg 提取码: sruj )
离线下载安装包后解压安装,下载地址:https://pypi.org/project/robotframework-appiumlibrary/#files,选择版本时注意选择支持python2的版本,下载后解压至python/Lib/site-packages,cmd窗口进入对应解压目录,运行:python setup.py install即可。

1.2 robotframework环境

打开终端CMD,执行pip,安装RrobotFramework、Ride等
pip install robotframework==2.8.5
pip install robotframework-ride == 1.5.2.1
在这里插入图片描述
在这里插入图片描述

安装appium库 robotframework-appiumlibrary:

pip install robotframework-appiumlibrary
在这里插入图片描述
离线下载安装包后解压安装,下载地址:https://pypi.org/project/robotframework-appiumlibrary/#files,选择版本时注意选择支持python2的版本,下载后解压至python/Lib/site-packages,cmd窗口进入对应解压目录,运行:python setup.py install即可:https://pypi.org/project/robotframework-appiumlibrary/
在这里插入图片描述

1.3 appium环境

1.3.1 安装Node.js、.net framework、

1.3.2 安装android-sdk(下载地址:AndroidDevTools - Android SDK下载 )

1) 下载安装包:(网络不行使用百度网盘中的包也可)
在这里插入图片描述
2 )开始安装:
在这里插入图片描述

3)安装完成后,运行SDK Manager.exe
在这里插入图片描述

4)选择要安装的包
必须安装:

Tools/Android SDK Tools
Tools/Android SDK Platform-tools
Tools/Android SDK Build-tools

选择最新的Android版本安装(使用aapt 查看apk包名和launcherActivity)

Extras/Google USB Driver
Extras/Google Web Driver

5)点击Install packages等待安装完成即可
6)配置环境变量
在系统变量新建:ANDROID_HOME:E:\Android\android-sdk(sdk安装路径)
在path里面添加:%ANDROID_HOME%\tools、%ANDROID_HOME%\platform-tools、%ANDROID_HOME%\build-tools\29.0.3
在这里插入图片描述
在这里插入图片描述
7)验证:cmd中输入adb命令;
在这里插入图片描述
下载aapt,为了(查看apk包名和launcherActivity),之前已下载,省略此步骤,直接看安装appium。
如未安装最新版安卓,单独下载方法如下:
在这里插入图片描述
在这里插入图片描述
双击SDK-manager.exe ,下载buidl-tools 29.0.3的版本,在E:\Android\android-sdk\build-tools\29.0.3目录下找到aapt.exe,将这个路径设置环境变量,添加到path下(重启电脑)
在这里插入图片描述

1.3.3 安装Appium

1)安装Appium-server(Releases · appium/appium-desktop · GitHub
2)安装appium-inspect(Releases · appium/appium-inspector

以下2步可不执行,用于检查appium环境是否完善:
3)安装appium-server(只支持android6.0及以下版本),选择安装D盘 链接: https://pan.baidu.com/s/1zdPVRMZkIBRxprEqgGt2KA 提取码: 5c2t
4)(可不执行,用于检查appium环境是否完善)配置appium-doctor,在安装完appium后,找到D:\Program Files (x86)\Appium\node_modules.bin 配置到path中,命令提示符中输入appium-doctor验证是否配置正确;在这里插入图片描述

5)安装Appium-Python-Client(对webdriver原生api的一些扩展和封装)
在线安装:pip install Appium-Python-Client
如在线安装不成功,通过百度网盘下载 https://pan.baidu.com/s/109Al41WV50Wp8UAza7PIhg 提取码: sruj 解压后,找到setup.py,进入其所在目录,在命令行输入python setup.py install,完成库文件的安装。

1.3.4 java环境:JDK下载安装与环境变量配置图文教程【超详细】

1.4 安装模拟器(夜神模拟器-通过腾讯软件管理工具安装,不再赘述)

二 验证环境搭建成功

第一步:连接模拟器 进入命令提示符 adb connect 127.0.0.1:62001 (开启夜神模拟器并进行adb连接)
第二步:通过adb devices -l 得到deviceName
在这里插入图片描述
deviceName:127.0.0.1:62001
关闭模拟器后会显示offline
第三步:获取apk包名和apk的launcherActivity
方法一:aapt dump badging E:\Nox_share\Download\weixin8042android2460_arm64.apk
在这里插入图片描述在这里插入图片描述
com.tencent.mm.ui.LauncherUI
appPackage=com.tencent.mm
appActivity=.ui.LauncherUI
方法二:使用adb命令来获取当前打开应用的包名:adb shell dumpsys window | findstr mCurrentFocus
在这里插入图片描述
com.tencent.mm/com.tencent.mm.app.WeChatSplashActivity
appActivity=.app.WeChatSplashActivity

方法三:adb shell “logcat|grep -i displayed.*.mm”
在这里插入图片描述
以上设置RF打开应用执行完后不关闭应用也会闪退

三 定位元素

在上一步连接好设备后我们可以打开sdk自带的素定位的工具,在…/sdk/tools/uiautomatorviewer.bat
点第二个按钮将手机同步到工具上进行元素定位
在这里插入图片描述
原文链接:https://blog.csdn.net/weixin_39430584/article/details/125888450

四 RobotFramework

4.1 导入appium库:AppiumLibrary

在这里插入图片描述

4.2 RobotFramework打开应用

在这里插入图片描述
在这里插入图片描述
URL:http://localhost:4723/wd/hub (appium-server地址)
运行打开应用脚本:

android-Open WeChat
    Open Application    ${REMOTE_URL}    platformName=Android    deviceName=127.0.0.1:62001    appPackage=com.tencent.mm    appActivity=.ui.LauncherUI    noReset=True
    ...    platformVersion=7.1.2

4.2.1 运行脚本之前打开appium-server,点击startServer

在这里插入图片描述
在这里插入图片描述

4.2.2 运行夜神模拟器并执行RIDE,打开微信成功

在这里插入图片描述
执行成功后移动端桌面会添加Appium Settings 图标:
在这里插入图片描述

五 遇到问题:

1. Android-sdk获取模拟器截屏失败:No Android devices were detected by adb

在这里插入图片描述
解决方法
关闭现有命令提示窗口(cmd窗口),重新进入命令提示符,输入adb devices,重新链接模拟器,uiautomatorviewer.bat重联
在这里插入图片描述

2. Android-sdk获取模拟器截屏失败: Unexpected error while obtaining UI hierarchyjava.lang.reflect.InvocationTargetException(未解决)

在这里插入图片描述
解决方法uiautomatorviewer报错:Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTarget (Android9和Android12尝试无效)

3. Android-sdk获取模拟器截屏失败:Error while dump ui and xml,please check /data/local/tmp/LvmamaXmlKit.jar is exist: device offline Error while dump ui and xml,please check /data/local/tmp/LvmamaXmlKit.jar is exist: device offline

解决方法:模拟器重启android 并 adb connect 重联;(adb没有多个时不用重联,会自动联接)

4. Android-sdk获取模拟器截屏失败:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn’t exist!

解决方法:重启服务或联接

5. 导入"AppiumLibrary" 失败,报错ImportError: cannot import name InvalidArgumentException

在这里插入图片描述
在这里插入图片描述
解决方法
在E:\Program Files\Python2.7.12\Lib\site-packages\selenium\common\exceptions.py找到exceptions.py文件,然后添加如下代码:

class InvalidArgumentException(WebDriverException):
"""
"""
pass

在这里插入图片描述
原文链接:https://www.jianshu.com/p/ab782f90bdf2?tdsourcetag=s_pcqq_aiomsg

6. charles抓包夜神模拟器:提示证书问题(未解决)

网上找的方法未解决问题,只能点击弹窗“继续”,直至不弹(只要有图片就会弹,几张图片弹几次)
在这里插入图片描述
解决方法夜神模拟器通过charles抓包的全过程 (未解决)
openssl x509 -subject_hash_old -in E:\Nox_share\Download\Desktop.pem
openssl x509 -inform PEM -subject_hash_old -in E:\Nox_share\Download\Desktop.pem
[图片]
在这里插入图片描述

7. 店店U惠小程序提示定位问题

[图片]
解决方法:无法彻底解决,点击“我已打开”没用,只能通过点击“返回”键关闭弹窗

8. 夜神模拟器助手中删除模拟器后无法添加相同版本模拟器

在这里插入图片描述
解决方法:进入安装目录data中删除对应的版本:如12 删除base12文件夹后添加模拟器成功
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值