WebDriverAgent常见错误
⚠️ 编译时报错:Could not build module 'RoutingHTTPServer'
解决:进入appium-webdriveragent目录,重新执行:
$ sh ./Scripts/bootstrap.sh
⚠️ 运行报错如下:'assign' property of object type may become a dangling reference; consider using 'unsafe_unretained'
----解决:将 assign 改为 strong ,并重新build,如下的两个错误同步解决掉 🦅
⚠️ 运行报错,让设置滚动时间,如:offset += MAX(scrollingTime, FBMinimumTouchEventDelay); // Setting Minimum scrolling time to avoid testmanager complaining about timing
----解决:把”FBMinimumTouchEventDelay“ 设置为实践,比如3000,再次运行无此错误。
⚠️运行报错,/Users/Cathleen/xcode_workspace/WebDriverAgent/WebDriverAgent.xcodeproj User-supplied CFBundleIdentifier value 'com.facebook.wda.runner' in the Info.plist must be the same as the PRODUCT_BUNDLE_IDENTIFIER build setting value 'com.facebook.WebDriverAgentRunner.xcodetest'.
----解决:如下图所示:
再次运行无提示性错误了
⚠️WebDriverAgent编译成功并安装demo后,卸载后第二次在编译虽然编译成功但未安装:
-----解决:执行product--test,或者如下图:
⚠️(product> test)编译成功且控制台输出了WDA的url,然后复制url到输入在浏览器中,发现无法访问
----解决:有些iPhone,据说是国产的原因或者ios10以后版本,直接使用ip不能连接手机(即输入打印出来的url无法显示手机界面),需要使用libimobiledevice 进行如下端口转发,转发后输入http://localhost:MacHost即可访问:
端口转发命令:$ iproxy macPort iPhonePort [UDID]
//macPort,mac上闲置的端口
//iPhonePort,手机设置的端口
//[UDID],手机的UDID,一台设备的时候可不填,但是多台设备就需要填了。比如:iproxy 8300 8100 103fc866d685f37dae974ca9cffa7262451d6383
eg:
# 使用--HEAD安装最新版本
$ brew install libimobiledevice --HEAD
$ iproxy 8300 8100 -----回车后 直接在网站中输入http://localhost:8300/status即可
⚠️xcode打包报错: Showing All Messages Command CodeSign failed with a nonzero exit code
---解决:如下图所示进行操作后再次编译,错误就会消失。还不行的话重启Xcode后再重试,错误就会消失。
⚠️执行 “sh ./Scripts/bootstrap.sh”时报错:ERROR in ./js/app.js Module parse failed:/app.js Unexpected token...如下图所示:
----解决:
a、修改Inspector下webpack.config.js文件
b、去掉babel-loader配置后的,“exclude: /node_modules/”,如下图:
c、删除Inspector下node_modules文件夹
d、重新执行 “sh ./Scripts/bootstrap.sh”,即可成功。
去掉babel-loader配置后的,“exclude: /node_modules/”, 重新执行 “sh ./Scripts/bootstrap.sh”,即可成功