RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x8

Posted 黄黄可爱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x8相关的知识,希望对你有一定的参考价值。

报错信息如下:

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_XCElementSnapshot", referenced from:
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBIsVisible in XCUIElement+FBIsVisible.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBUID in XCUIElement+FBUID.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_WebDriverAttributes in XCUIElement+FBWebDriverAttributes.o
objc-class-ref in XCUIElement+FBWebDriverAttributes.o
objc-class-ref in XCUIElement+FBUtilities.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBAccessibility in XCUIElement+FBAccessibility.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBScrolling in XCUIElement+FBScrolling.o
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因分析:苹果将XCElementSnapshot从XCTest.framework移动到了私有的XCTAutomationSupport.framework

造成文件无法import

结果办法:

在文件WebDriverAgent.xcodeproj/project.pbxproj中增加部分代码,增加途中绿色部分,具体增加的代码查看webDriverAgent作者在git中的提交

https://github.com/facebook/WebDriverAgent/commit/c4da863b9c8d6d076ba74bf1ff58b47ef56dd2fa#diff-7610c17549f7cb63943c12afdfd7ba64R613

以上是关于RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x8的主要内容,如果未能解决你的问题,请参考以下文章

Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

robotFrameWork APPIUM实现对安卓APK的自动化测试

Robotframework-Appium 之常用API

Python + Robotframework + Appium 之APP自动化测试实践

robotframework + appium实例

Robotframework + Appium 之常用元素定位方法