首页 > 其他分享 >Appium 2.X 做 iOS UI 自动化测试 —— 起步

Appium 2.X 做 iOS UI 自动化测试 —— 起步

时间:2023-11-07 18:59:08浏览次数:35  
标签:Appium 真机 插件 iOS appium UI 安装

环境

Appium 2.0 之后,安装方式简化了许多,和之前变化很大;
必须使用 Mac;

分别安装 node、appium

# node
brew install node
npm config set registry https://registry.npm.taobao.org

# appium
npm install -g appium

安装 appium-inspector

客户端 下载
或者 网络调试,不过速度较慢,且无法在 Safari 中使用

安装插件

appium 2.0 之后,出现了 插件 的概念。像以前的 wda、uiautomator2 等都变成了插件,需要安装使用。调试 iOS 的话,必须安装 xcuitest 插件(Android 需要 UiAutomator2 插件):

appium driver install xcuitest

调试

启动 appium sever

# 如果要网络调试的话,需要跟 --allow-cors 参数
appium

image

连接真机或者模拟器

用 Xcode run 一个模拟器,或者插线一个真机。
使用真机的话,需要自签名一个 WebDriverAgent 打到真机上面,WebDriverAgent 在安装 xcuitest 插件时已经下载到本机了。位置在:

echo "$(dirname "$(find "$HOME/.appium" -name WebDriverAgent.xcodeproj)")"

之后用 Xcode 打开 WebDriverAgent.xcodeproj,给 WebDriverAgentRunner 加 Team、修改 Bundle Identifier,之后 Test 到真机就行:
image

启动 appium-inspector

需要填写三个必要的参数,真机的话还需要加 udid,如下:
image

启动成功之后是这样的,可以用 inspector 来定位元素、生成 shit(代码)等
image

使用 python 运行

python 版本尽量 3.6 以上吧

安装三方库 Appium-Python-Client

pip install Appium-Python-Client

写代码

from appium import webdriver
from appium.options.ios import XCUITestOptions


options = XCUITestOptions().load_capabilities({
	'platformName': 'iOS',
	'deviceName': 'iPhone 15 Pro',
	'antomationName': 'XCUITest',
	'app': '/xxx/testApp Debug.app'  # 安装包路径
})

driver = webdriver.Remote(
	'http://127.0.0.1:4723',
	options=options,
	direct_connection=True
)

运行

先启动 appium sever,再运行代码,可以看到设备上自动安装并运行了指定 App。

标签:Appium,真机,插件,iOS,appium,UI,安装
From: https://www.cnblogs.com/bigllxx/p/17815610.html

相关文章

  • vue2 - require is not defined
    vue.config.js文件中module.exports=defineConfig({transpileDependencies:['require'],...将transpileDependencies属性值改未false或者['require']时即可。虽然不太清除具体原理但是问题解决了,如果有大佬知道希望评论解答一下,谢谢。......
  • vue3 axios 获得基地址
    1.位置 //axios基础的封装importaxiosfrom'axios'import'element-plus/es/components/message/style/css'import{ElMessage}from'element-plus'consthttpInstance=axios.create({baseURL:'http://laravel.cn',//基......
  • 实验5---Swing UI设计(简易计算器)
    一、实验目的本实验的目的是掌握JAVA容器类JFrame和JPanel的使用;掌握Swing常用布局的使用;掌握常用可视组件的使用。二、实验内容完成一个简单的计算器的功能。实现的效果图如下所示:  计算器实现的计算功能为:加、减、乘、除法、求余;“C”为清除,“<-“为退格等功能。三、......
  • asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启
    Enable/DisableRequiredFieldValidatorwithJavascriptdocument.getElementById("requiredfieldvalidatorid").enabled=false;<asp:DropDownListID="ddlServiceName"runat="server"onchange='varDateValidator=docume......
  • iOS代码混淆----自动
    ​  先大致解释一下“编译"、"反编译":编译:就是把千千万万行字符串(也叫代码,或者源文件),变成010101010101(机器码,也叫目标代码)编译过程:预处理-编译-汇编-链接我的脚本运行在预处理阶段。反编译:就是把0101010111110001100(机器码,也叫目标代码),变成千千万万行字符串(也叫......
  • Microsoft Visual C++ 14.0 is required.
    问题:配置detectron2的时候报错,MicrosoftVisualC++14.0isrequired.解决:按照上面的网址去下载MicrosoftC++BulidTools这个工具,安装对应的包即可 ......
  • 通过 SAP UI5 IconTabBar 控件结合 FlexibleColumnLayout 实现多页面 Master-Detail
    本文也是来源于网络上一位朋友的咨询,这是这位朋友实际项目中的真实需求。本文介绍了一个实际项目中开发需求的详细实现过程。通过使用SAPUI5IconTabBar控件,我们可以让逻辑上属于不同业务范畴的界面,通过点击对应的Icon,以切换的方式,在同一块屏幕区域显示出来。IconTabBar结......
  • Mac m1 安装 burp suite 2023.10.3.3
    准备工具burp官方burpsuite_pro_macos_arm64_v2023_10_3_3.dmgBurpLoaderKeygen.jar:链接:https://pan.baidu.com/s/11f5lRGPwP4mINIAkZLci6Q?pwd=yq8b提取码:yq8b修改vmoptions.txt文件,添加如下内容--add-opens=java.desktop/javax.swing=ALL-UNNAMED--add-opens=java.base/jav......
  • 各种品牌电脑进入主板BIOS的方法(快捷键,按键)
    尝试:F1,F2,F8,F9,F10,F12,ESC,DEL IBM(冷开机按F1,部分新型号可以在重新启动时启动按F1)HP(启动和重新启动时按F2)SONY(启动和重新启动时按F2)Dell(启动和重新启动时按F2)Acer(启动和重新启动时按F2)Toshiba(冷开机时按ESC然后按F1)Compaq(开机到右上角出现闪动光标时按F10,或者开机......
  • element-ui选中节点包含子节点和父节点
    //代码: constcheckedNodes=this.$refs.asyncTree.getCheckedNodes(false,true) //遍历一下就可以获得所有id constids=checkedNodes.map(item=>item.id) console.log(ids)  ......