Appium_ios自动化问题汇总
1.使用Xcode遇到的问题
xcode-select: error: tool 'instruments' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
解决方法:
报这个错误的原因是xcode-select不在默认的路径
a).找到xcode-select的当前路径终端命令行
xcode-select --print-path
/Library/Developer/CommandLineTools
b).设置xcode-select到指定位置
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
c) .验证是否设置成功
xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
2. 查看设备列表
instruments -s devices
3.查看设备udid
xcrun simctl list
4. 'RoutingHTTPServer/RoutingConnection.h' file not found'报错
问题一:出现'RoutingHTTPServer/RoutingConnection.h' file not found,编译错误.
问题二:xcodebuild failed with code 65
解决处理方法:
4.1.cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent
4.2.在wda根目录下,输入sh ./Scripts/bootstrap.sh下载依赖,wda重新编译
4.3.重新build了project后,就没有报错了
5. WebDriverAgent/Carthage/Build/iOS/RoutingHTTPServer.framework/Headers/RouteResponse.h:8:1: 'assign' property of object type may become a dangling reference; consider using 'unsafe_unretained'
解决方法:
@property (nonatomic, assign, readonly) HTTPConnection *connection;
修改为:@property (nonatomic, strong, readonly) HTTPConnection *connection;
6. WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m:12:9: Could not build module 'RoutingHTTPServer'
解决方法:
@property (nonatomic, assign, readonly) HTTPConnection *connection;
修改为:@property (nonatomic, strong, readonly) HTTPConnection *connection;
7. Simply open WebDriverAgent.xcodeproj and start WebDriverAgentRunner test, Using xcodebuild
命令为:xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'platform=iOS Simulator,name=iPhone 11 Pro Max' test
8. testrunner failed: WebDriverAgent/<unknown>: failed: caught "NSInvalidArgumentException", "-[UITestingUITests internalImplementation]: unrecognized selector sent to instance 0x600003c32580"; 此问题通过降低xcode版本解决的,使用最新的xcode版本遇到的问题实在无法解决了;
9. xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination ‘platform=iOS,id=CD7A3E92-9C32-4428-9765-CF99FE14DB10’ test
xcodebuild -project XCTestWD.xcodeproj -scheme XCTestWDUITests -destination id=D45009A8-A070-A7811C, OS=13.3 XCTESTWD_PORT=8001 clean test
结果: xcodebuild: error: option 'Destination' requires at least one parameter of the form 'key=value' , 处理结果:在xcode 11.3.1中应去掉单引号;
10. 命令行执行WebDriverAgentRunner, xcode版本->11.3.1
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=CD7A3E92-9C32-4428-9765-CF99678900, OS=13.3 test
11. App Inspector-ios Macaca:
npm i -g macaca-cli macaca-ios # 安装命令行工具和驱动模块
macaca run # 运行即可
12. npm转cnpm下载(npm下载较慢,转cnpm国内下载很快):
npm install -g cnpm --registry=https://registry.npm.taobao.org
13. Test XCTestWDUITests
xcodebuild -project XCTestWD.xcodeproj -scheme XCTestWDUITests -destination id=D45009A8-A070-4E6F-84FD-D6744EA7811C, OS=13.3 XCTESTWD_PORT=8001 clean test
14. Macaca捕获页面元素
app-inspector -u udid
15. 关闭系统显示“其他”用户的设置
sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE
16. 使用app-inspector 报错: Error: connect ECONNREFUSED 127.0.0.1:8001
解决方法: npm config set proxy null
17. Failed to create WDA session (An unknown server-side error occurred while processing the command. Original error: 'bundleId' desired capability not provided
18. An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '81.0.4044'. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details. You could also try to enable automated chromedrivers download server feature
解决方法(http://npm.taobao.org/mirrors/chromedriver):
把最新版的chromedriver放置到:\node_modules\appium\node_modules\appium-chromedriver\chromedriver\mac 即可解决问题;
19. ideviceinstaller -l
Could not connect to lockdownd. Exiting
解决方法:
brew uninstall -f libimobiledevice ideviceinstaller usbmuxd如果命令被拒绝,可根据提示,更新命令:
brew uninstall --ignore-dependencies libimobiledevice ideviceinstaller usbmuxd
这次命令是成功了然后继续:brew install -v --HEAD --fetch --build-from-source usbmuxd libimobiledevice ideviceinstallerideivesinstaller -l大功告成,终于出结果了。。
Appium_ios自动化问题汇总的更多相关文章
- python自动化常见问题汇总
1.如何提高selenium脚本的执行速度? Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程 ...
- selenium IE自动化问题汇总
驱动下载:http://selenium-release.storage.googleapis.com/index.html 没有修改IE的保护模式设置导致,通常看到报错信息如下: selenium. ...
- 轻松自动化---selenium-webdriver(python) (一)
为什么选python? 之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎 ...
- 轻松自动化---selenium-webdriver(python) (二)
本节知识点: 打印URL 将浏览器最大化 设置浏览器固定宽.高 操控浏览器前进.后退 打印URL 上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来.其实也没啥大用, ...
- 轻松自动化---selenium-webdriver(python) (三)
本节重点: 简单对象的定位 -----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一 ...
- 轻松自动化---selenium-webdriver(python) (四)
本节要解决的问题: 如何定位一组元素? 场景 从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象, 这时候就需 ...
- 轻松自动化---selenium-webdriver(python) (五)
本节要解决的问题: 层级定位 场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们. 在实际的测试中也经常会遇到 ...
- 轻松自动化---selenium-webdriver(python) (六)
本节知识点: 操作对象: · click 点击对象 · send_keys 在对象上模拟按键输入 · clear 清除对象的内容,如果可以的话 WebElement 另一些常用方法: · text ...
- 轻松自动化---selenium-webdriver(python) (七)
本节知识点: 多层框架或窗口的定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 对于一个现代的web应用,经常会出现框架 ...
- 轻松自动化---selenium-webdriver(python) (八)
本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行. *参数:适用任何JavaScr ...
随机推荐
- Web渗透05_SQL注入(TOP 1漏洞)
SQL注入是所有WEB漏洞中最危险的攻击方式,带来的危害也是最大的.没有之一. SQL注入基础 在编写web应用时,几乎所有的数据都存储在网站的数据库中,你的账号信息,收藏信息,文章信息等等数据都存在 ...
- 串(C语言实现)
文章目录 1.串的数据类型定义 数据对象 1.1 数据关系 1.2 基本操作 2.串的存储结构 2.1 串的顺序存储 2.2 串的链式存储 3.串的模式匹配算法 3.1BF 算法 3.2KMP 算法 ...
- mysql 备份还原命令备忘
1.备份 mysqldump -u username -p databasename tableName > backupfile.sql 2.还原 mysql -u username -p p ...
- DataGrip 2024.2.2 最新安装教程(附激活-2099年~)
下载 DataGrip 2024.2.2 版本的安装包. 下载补丁https://pan.quark.cn/s/fcc23ab8cadf 检查 免责声明:本文中的资源均来自互联网,仅供个人学习和交流使 ...
- 制作一个ai丛雨(附Python代码)
绫,再一次,再一次创造一个有你的世界 开一个随笔记录一下我的第一版ai老婆,目前只有普通对话和切换背景的功能(后面可能会加一个选人物功能) 先放一个效果图(看起来还行) 代码和注意事项都放在了下面,应 ...
- 3.12 Linux创建文件及修改文件时间戳(touch命令)
既然知道了如何在 Linux 系统中创建目录,接下来你可能会想在这些目录中创建一些文件,可以使用 touch 命令. 需要注意的是,touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令 ...
- NewStar CTF 2024 Crypto
Week1 xor #As a freshman starting in 2024, you should know something about XOR, so this task is for ...
- Tensorflow 使用TPU训练
要用TPU训练tensorflow模型,只能使用静态图.也就是要先通过keras的sequential或者函数式定义模型,而不能直接使用重写的Model类.例子如下,其中包含层的自定义,以及子像素卷积 ...
- 2025年前端面试准备vue篇
1.VUE的声明周期有哪些及每个生命周期做了什么 beforeCreate: 是new Vue() 之后触发的第一个钩子,data,methods,computed 以及watch 上的数据和方法 ...
- Java线程:新特征-条件变量
条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量.但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义. 这里的条 ...