Airtest/appium使用(MAC系统)

appium:

环境配置:
统一:
安装python3、安装Airtest/appnium

Android:

安装:java、sdk(下载安装android studio(主用于下载sdk,运行模拟器))

mac环境变量配置(python,sdk,java):

终端运行:

sudo tuoch ~/.zshrc
open ~/.zshrc

写入:

export ANDROID_HOME=/Users/edz/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools 
export PATH=$PATH/:$ANDROID_HOME/platform-tools

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home"
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
#Setting PATH for Python 3.7
export PATH=${PATH}:/Library/Frameworks/Python.framework/Versions/3.7/bin
alias 
python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"
export PATH=${PATH}:/Library/Frameworks/Python.framework/Versions/3.7/bin
alias pip="/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3"

注意:苹果公司发布了macOS Catalina(10.15),macOS的默认终端从bash变成了zsh,也就是说只有在10.15之后的版本上才需要这样配置。

Ios + appnium:

详细步骤参考(appium):https://www.cnblogs.com/feng0815/p/8215587.html

  1. 其中WebDriverAgent 在运行时报错,在下面网址中下载替换:
    https://github.com/facebookarchive/WebDriverAgent
    自带的WebDriverAgent 位置一般在 (/Applications/Appium .app/Contents/Resources/app/node_modules/appium/node_modules/webdriveragent)将其替换就可以,在成功运行xcode项目时,xcode会自动启动模拟器,此时,在aritest中就可以连接ios模拟器
    注意:目前仅仅实现了模拟器,连接真机运行xcode报错(),真机待验证

Airster的连接

airtest连接Android

在这里插入图片描述

注意:在操作这步之前最好,在终端将执行 adb kill-server 将adb杀掉,不然会与airtest 冲突, 在连接过程中选择下面右图中其中任一选项,可以连接到手机画面就成功了

airtest连接ios

在这里插入图片描述
使用xcode运行ios模拟器,点击下图“连接”按钮,稍等一会就可以连接成功

airtest使用方法:
基本导入的模块,

-*- encoding=utf8 -*-
__author__ = "edz"
from airtest.core.api import *
#初始化
auto_setup(__file__)
#导入poco模块
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
Poc0 = AndroidUiautomationPoco(use_airtest_input=True,screenshot_each_action=False)
Airtest辅助,基于图像定位

在这里插入图片描述
对截取的图像进行操作

poco一般常用方法:

停止应用:stop_app(packageName)
启用应用:start_app(packageName)
元素查找:popc(Element) #Element,可以通过Poco辅助窗获取
点击:click()
文本输入:text(“输入内容”)
等待方式
设置隐式等待:
ST.FIND_TIME = 60 #设置隐式等待时长,为全局
wait(Element) #等待60s,隐式等待
强制等待:sleep(num)
滑动: swipe((x1,y1),(x2,y2))
断言
1.第一种断言方式:验证UI界面
a、存在 assert_exists(“element(.png文件)”,”message”)
b、不存在 assert_not_exists(“element(.png文件)”,”message”)
2. 断言第二种方式:验证数值
assert_equal:断言相等
assert_not_equal:断言不等

其他:待补充

在poco辅助窗:(获取Element)点击录制按钮图标,再次点击右边所需要点击的按钮,中间就会自动生成一个操作脚本.
在这里插入图片描述

总结:appium与airtest相比,airtest使用更简易,效率上更高

区别:
相对来说airtest 更易上手
Airtest 效率更高,点击元素就可以自动编辑脚本速度更快,appium录制相对较慢;airtest脚本编辑也更高一些,appium中需要一个一个查找
appium相对于airtest功能更丰富一些

Airtest中遇到的问题

  1. airtest与本地adb版本冲突,即在airtest中无线连接手机时显示offline解决方法
    原因是 adb 版本低,升级 adb 即可。
    首先去谷歌的安卓平台下载 adb 软件包,点我下载。解压后,把 adb 命令复制 /Applications/AirtestIDE.app/Contents/MacOS/airtest/core/android/static/adb/mac/ 目录下,覆盖旧的 adb 命令。
    python运行报adb 冲突:
    替换文件位置:***/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airtest/core/android/static/adb/mac/adb***
    win系统:aritestIde所在目录 \AirtestIDE\airtest\core\android\static\adb\windows

  2. mac系统中airtest中的chromedriver文件位置:Applications/AirtestIDE.app/Contents/Resources/plugins/selenium_plugin/

mac系统查看文件编码:
安装enca

 brew install enca 

查看编码格式

 enca -L zh_CN filename //或 enca filename 

转换编码格式

enca -L zh_CN -x UTF-8 filename
enca -x UTF-8 filename
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐