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 (nonatomicstrongreadonly) 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 ideviceinstaller
ideivesinstaller -l
大功告成,终于出结果了。。


 

Appium_ios自动化问题汇总的更多相关文章

  1. python自动化常见问题汇总

           1.如何提高selenium脚本的执行速度? Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程 ...

  2. selenium IE自动化问题汇总

    驱动下载:http://selenium-release.storage.googleapis.com/index.html 没有修改IE的保护模式设置导致,通常看到报错信息如下: selenium. ...

  3. 轻松自动化---selenium-webdriver(python) (一)

    为什么选python? 之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎 ...

  4. 轻松自动化---selenium-webdriver(python) (二)

    本节知识点: 打印URL 将浏览器最大化 设置浏览器固定宽.高 操控浏览器前进.后退 打印URL 上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来.其实也没啥大用, ...

  5. 轻松自动化---selenium-webdriver(python) (三)

     本节重点: 简单对象的定位 -----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一 ...

  6. 轻松自动化---selenium-webdriver(python) (四)

    本节要解决的问题: 如何定位一组元素? 场景 从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象, 这时候就需 ...

  7. 轻松自动化---selenium-webdriver(python) (五)

    本节要解决的问题: 层级定位 场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们. 在实际的测试中也经常会遇到 ...

  8. 轻松自动化---selenium-webdriver(python) (六)

    本节知识点: 操作对象: · click 点击对象 · send_keys 在对象上模拟按键输入 · clear 清除对象的内容,如果可以的话 WebElement  另一些常用方法: · text  ...

  9. 轻松自动化---selenium-webdriver(python) (七)

    本节知识点: 多层框架或窗口的定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 对于一个现代的web应用,经常会出现框架 ...

  10. 轻松自动化---selenium-webdriver(python) (八)

    本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行. *参数:适用任何JavaScr ...

随机推荐

  1. npm安装html2canvas依赖报错 npm ERR! Unexpected token < in JSON at position 0 while parsing near '<!DOCTYPE html> npm ERR! <htm...'

    今天安装某个依赖时发现npm ERR! 可我是正常操作啊,也没有升级啥的,咋就安装不了了? npm install --save html2canvas 报错信息如下: npm ERR! Unexpe ...

  2. C++泛型一:模板

    数据类型给程序设计带来的困扰及解决方案 int maxt(int, int); double maxt(double, double); 若有一种占位符T,能够代替类型,便可以简化代码的冗余编写 T ...

  3. esp8266+http (PlatformIO)

    esp8266 + http 使用esp8266发起http请求 #include <Arduino.h> #include <ESP8266WiFi.h> #include ...

  4. vue3:computed

    扫码或者点击文字后台提问 原文: https://mp.weixin.qq.com/s/36dd--oj6jmkZblfJRh4iw computed 支持选项式写法 和 函数式写法 1.选项式写法 ...

  5. 条理清晰,浅显易懂:Lua语法技术知识详解(第三部分)

    今天我们继续学习Lua语法基础教程,下篇. 9.4 函数返回值 在前面的代码中,我们实现了一个函数,输入变量a.b,函数会自动输出两个数值的和. 但是一般来说,我们的需求远远不止这些,我们可能需要一个 ...

  6. ubuntu apache默认没开启rewrite 如何开启

    注意看到 /etc/apache2/apache2.conf # Include module configuration:IncludeOptional mods-enabled/*.loadInc ...

  7. MySQL 主从复制之多线程复制

    目录 一.MySQL 多线程复制的背景 二.MySQL 5.5 主从复制 1.原理 2.部署主从复制 2.1.主节点安装配置MySQL 5.5 2.2.从节点安装配置MySQL 5.5 3.检查主从库 ...

  8. Linux中的文件属性和 文件类型

    文件类型及属性 文件属性 每列的含义 ​ [root@oldboyedu ~]# ll -i ​ 33575029 -rw-r--r--. 1 root root 337 Nov 2 10:26 ho ...

  9. rabbitmq-c与amqp扩展安装

    最近需要使用RabbitMQ进行消息队列处理 1.安装rabbitmq-c 在安装amqp之前需要先安装rabbitmq-c扩展 rabbitmq-c下载网址:https://github.com/a ...

  10. Centos7 安装python3与python2.7 共存

    前言 在centos7服务器上,linux系统默认安装有python2.7,这是系统服务等会依赖到的,所以系统的python2.7是不可以卸载的,避免系统出现问题.那么问题就来了,我们现在使用的pyt ...