多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

接口自动化测试-解决iOS Appium模拟器反复重启的问题

更新时间:2021-09-28 01:51:31 作者:admin 浏览:509

接口自动化测试-解决iOS Appium模拟器反复重启的问题

  关于Appium 的配置使用,在此不多叙述

  下面我要说的是配置完之后,在使用Appium 启动时,出现了模拟器上的app反复重启的问题,定位了一下问题有如下错误

  [WD Proxy] Got an unexpected response: {"value":"+[XCAXClient_iOS sharedClient]: unrecognized selector sent to class 0x100f58130 ( 0 CoreFoundation 0x0000000212788edc + 252 1 libobjc.A.dylib 0x0000000211959a40 objc_exception_throw + 56 2 CoreFoundation ...

  查了好多资料,都提示下载最新的WebDriverAgent

  https://github.com/facebookarchive/WebDriverAgent

  下载完之后,重新执行

  sh ./Scripts/bootstrap.sh -d

  配置证书,重新build之后 ,替换appium 路径下面的WebDriverAgent,以上操作都尝试之后依然报错如旧....

  反思,再三反思

  /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

  原来Appium其实自带WebDriverAgent的,应该这样子说,不知道从Appium 的某一个版本更新之后,就不再支持facebook 出的这个WebDriverAgent了,因此你替换100次也无济于事,索性直接使用Appium 的WebDriverAgent

  cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

  mkdir -p Resources/WebDriverAgent.bundle

  sh ./Scripts/bootstrap.sh -d

接口自动化测试-解决iOS Appium模拟器反复重启的问题

  执行上面这个命令时,要骚微等一下下,去上个厕所,倒杯水,和前台妹子聊聊天等等,过了一会可能就成功了,如果没成功,就是你网络问题了,多点耐心

  1.进入WebDriverAgent 打开xcode,菜单栏product --> Destination --> 选择device下的xxx的iPhone

  2.product --> Scheme --> WebDriverAgentRunner

  3.最后运行:product --> Test || command + U

  结果:没问题的话,手机/模拟器上会出现一个无图标的 WebDriverAgent 应用,启动之后,马上又返回到桌面。这是正常的。然后xcode界面可以看到服务地址,表示运行成功:

  2019-07-12 14:18:19.083193+0800 WebDriverAgentRunner-Runner[33741:1469798] ServerURLHere->http://192.168.1.148:8100<-ServerURLHere

  在浏览器输入

  http://192.168.1.148:8100/status

  出现以下结果表示成功了

  {

  "value" : {

  "state" : "success",

  "os" : {

  "name" : "iOS",

  "version" : "12.2",

  "sdkVersion" : "12.2"

  },

  "ios" : {

  "simulatorVersion" : "12.2",

  "ip" : "192.168.1.148"

  },

  "build" : {

  "time" : "Jul 12 2019 14:15:55",

  "productBundleIdentifier" : "com.facebook.WebDriverAgentRunner"

  }

  },

  "sessionId" : "E9FD8A75-0E96-4FD2-B145-08EAF8B1F667",

  "status" : 0

  }

  打开Appium ,设置调试参数

  {

  "platformName": "iOS",

  "platformVersion": "12.2",

  "deviceName": "iPhone XR",

  "automationName": "XCUITest",

  "app": "可写可不写,Appium 可以根据bundledid 自动查找对应手机上的app",

  "bundleId": "这个你懂的com.xxx.xxx",

  "udid": "手机或者模拟器的uuid"

  }

  以上是关于解决iOS Appium模拟器反复重启问题的办法,由多测师亲自撰写。https://www.aichudan.com/

联系电话

17727591462

返回顶部