参考:Mac 安装 appium 并在 iOS 真机运行 blog.kelu.org/tech/2023/0…
基础安装:
brew install node # get node.js
npm install -g appium # get appium
npm install wd # get appium client
appium & # 这个执行不了也没关系,这个必须安装:Appium-Server-GUI-mac-1.22.3-4
brew install java
再把这部分内容塞到 /etc/profile 文件去。
JAVA_HOME=/opt/homebrew/opt/openjdk
export JAVA_HOME
然后source一下:
source /etc/profile
Carthage是一个依赖管理器,WebDriverAgent 需要它
brew install carthage
7. appium-desktop 和 appium-inspector
https://github.com/appium/appium-desktop
https://github.com/appium/appium-inspector
检查 iOS依赖有没有安装好
appium-doctor --ios
1. libimobiledevice & ideviceinstaller
brew install libimobiledevice
brew install ideviceinstaller
idevice_id
instruments -s devices # 列出设备包括模拟器、真机及 mac 电脑本身
ideviceinfo # 可以在返回的数据中找到 udid
ideviceinstaller --list-apps # 列出app
ideviceinstaller -l # 列出app
idevicenotificationproxy -h
- 自己编译webdriveragent并运行在真机上 首先手机要在 设置> 隐私与安全性 下找到 “开发者模式”开关 开启开发者模式。
我看到有的教程直接使用 appium 自带的 webdriveragent代码,因为我的xcode版本比较新,使用这些老代码 编译 都不过,所以还是直接使用最新的源码代替了。
去 github.com/appium/WebD… 下载源码
双击 WebDriverAgent.xcodeproj 后打开: 然后修改WebDriverAgentRunner和 WebDriverAgentLib证书为自己的证书 选择 Product->Scheme->WebDriverAgentRunner,
编译OK后运行test:
本机访问 127.0.0.1:8100/status
设置->显示与亮度->自动锁定->永不
安装python 驱动
pip3 install Appium-Python-Client
图片压缩:
pngquant
测试代码
from appium import webdriver
from appium.options.common.base import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
options = AppiumOptions()
options.load_capabilities({
"platformName": "iOS",
"appium:platformVersion": "16.1",
"appium:deviceName": "200053",
"appium:automationName": "XCUITest",
"appium:udid": "00008101-000E61EE0228001E",
"appium:bundleId": "com.ziroom.ZDProject",
"appium:xcodeSigningId": "iPhone Developer",
"appium:useNewWDA": False,
"appium:noReset": True,
"appium:newCommandTimeo": "60",
"appium:includeSafariInWebviews": True,
"appium:newCommandTimeout": 3600,
"appium:connectHardwareKeyboard": True
})
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", options=options)
driver.quit()
实现地铁共享二维码
公司电脑使用frp穿透(有一台阿里云99元服务器)。使用django服务端写接口,调用appium来启动wda,wda打开亿通行app获取到二维码,家里成员共享一个二维码,这样就可以很快八折五折的价格坐地铁!