Airtest/appium使用(MAC系统)

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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
AirtestAppium是两个常用的移动端自动化测试框架,它们各自有一些优点和缺点。 Airtest的优点: 1. 跨平台支持:Airtest可以同时支持Android和iOS平台的自动化测试,开发者可以使用同一套代码来实现跨平台的自动化测试。 2. 易于上手:Airtest提供了简洁易懂的API和可视化操作界面,使得初学者可以快速上手和编写测试脚本。 3. 强大的图像识别功能:Airtest内置了强大的图像识别功能,可以用于处理一些无法通过控件定位的情况,提高了测试脚本的灵活性和稳定性。 Airtest的缺点: 1. 对于复杂的应用可能存在兼容性问题:由于Airtest使用了图像识别技术进行控件定位,对于一些复杂的应用界面可能无法准确识别,导致测试失败。 2. 缺乏社区支持:相比AppiumAirtest的社区用户相对较少,因此在遇到问题时可能难以找到及时有效的解决方案。 Appium的优点: 1. 广泛支持多种编程语言:Appium支持多种编程语言,如Java、Python、Ruby等,开发者可以根据自己的喜好和熟悉程度选择合适的语言进行自动化测试。 2. 大型社区支持:Appium拥有庞大的社区用户群体,开发者可以很容易地找到解决方案、文档和教程,减少学习和使用的难度。 3. 支持多种定位方式:Appium支持多种定位方式,包括基于控件属性、XPath、CSS选择器等,可以灵活地定位和操作应用界面上的控件。 Appium的缺点: 1. 对于跨平台支持相对较弱:Appium在跨平台支持上相对较弱,需要针对Android和iOS平台分别进行配置和使用。 2. 配置和环境搭建较为复杂:相比AirtestAppium的配置和环境搭建较为复杂,需要安装和配置多个依赖组件,对于初学者来说可能会有一定的难度。 综上所述,Airtest适合对于简单应用的自动化测试,特别是对图像识别有较高需求的场景;而Appium适合对跨平台支持和社区支持有要求的场景,尤其是需要使用不同编程语言进行测试的情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值