最新Mac搭建Python+Appium实现自动化测试教程

一、安卓环境搭建以及ANDROID_HOME环境变量

1、安卓环境搭建

Android Studio是开发Android应用程序的官方IDE,安装Android Studio并且进去后会为您自动搭建安卓环境;记得一定要打开并且配置安装环境,过程中会看到安装路径。

Android Studio下载地址

2、ANDROID_HOME环境变量

安装成功后地址一般为/Users/您Mac的英文名/Library/Android/sdk/,我们把它写入环境变量。

按i开始编辑,可以看到命令的下方出现了“--INSERT--”字样,表示成功进入了编辑模式。

vim ~/.bash_profile

# 配置ANDROID_HOME环境变量
export ANDROID_HOME="/Users/ptorch/Library/Android/sdk/"

# 让配置生效
source ~/.bash_profile

输入完成后,按下“Esc”键,退出编辑模式。并在此时输入“:wq”以退出并保存刚刚输入的内容。

mac adb命令报错“zsh: command not found: adb” 及配置 .zshrc

二、Mac环境Java搭建以及JAVA_HOME配置

1、Mac环境Java搭建

我们使用java -version查看是否安装java,如果没有安装则使用brew安装即可;windos的自己看一下自己的。

brew install brew

安装成功后再使用java -version查看即可:

java version "1.8.0_211"  
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)  
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2、配置JAVA_HOME环境变量

Java默认安装的位置为/Library/Java/JavaVirtualMachines/下,您再根据安装的版本一直找到Home

vim ~/.bash_profile

# 配置JAVA_HOME环境变量
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home  
export PATH=$JAVA_HOME/bin:$PATH

# 让配置生效
source ~/.bash_profile

三、安装APPIUM

Appium我们直接 点击前往官网点击下载appium ,然后安装后打开即可。

遇见,无法打开“XXXX”,因为Apple无法检查其是否包含恶意软件。怎么解决?
sudo xattr -rd com.apple.quarantine /Applications/Appium\ Inspector.app
回车!然后输入电脑密码回车即可(密码输入是看不见的,无视继续输入)

appium-inspector 移动应用程序等的 GUI 检查器,(需要单独安装)Appium 服务器提供支持。

如果上面2步您配置好了则无需配置;如果您的配置不一样则需要自己填入路径。

 

 

四、安装selenium和Appium-Python-Client

首先我们需要安装selenium才能使用Webdirver;安装方法如下:

pip3 install selenium

接下来需要安装appium拓展包,否则会出现

from appium import webdriver
ModuleNotFoundError: No module named 'appium'

我们需要安装一下轮子:

pip3 install Appium-Python-Client

接下来我们就能跑起来项目了。

五、测试案例

1、设置手机开发者模式,并关闭手机的密码解锁,将手机和电脑连接,选择支持传输文件。

mac电脑打开终端,执行adb命令,查看链接手机的设备号:

adb devices

 

 

 

手机先打开想要操作的软件和对应操作页面,mac电脑打开终端,执行adb命令,查看软件包名和页面信息:

 adb shell dumpsys window windows | grep mSurface

查看apk包的版本号:

adb shell pm dump com.baidu.iknow | grep version

查看app软件的启动页(注意在打开软件的时候同步执行下面的命令):

adb shell dumpsys window | grep mCurrentFocus

 

 

 

脚本demo:

 

from appium import webdriver

caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "11.0.0"
caps["deviceName"] = "XXXXXX"
caps["appPackage"] = "com.XXXXX.XXXXX"
caps["appActivity"] = "com.XX.XXX.XXX.XXXXX"
caps["resetKeyboard"] = True
caps["unicodeKeyboard"] = True

driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

driver.find_element_by_xpath('XXXXXX').click()

driver.quit()

 

posted @ 2021-12-07 10:57  happyyangyanghappy  阅读(907)  评论(0编辑  收藏  举报