我已经安装了Appium和XCode,并且我正在尝试在模拟器上启动应用程序。当我手动打开模拟器并单击应用程序时,该应用程序可以正常工作。
我的能力如下:
File app = new File ("/Users/me/Desktop/myapp.app");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "iOS");
capabilities.setCapability("deviceName", "iPhone 8");
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("app", app.getAbsolutePath());
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
我得到的错误是:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Unable to launch WebDriverAgent because of xcodebuild failure: "Command 'Scripts/bootstrap.sh -d' exited with code 1". (WARNING: The server did not provide any stacktrace information)
我按照这个问题的答案中给出的指示:
Unable to launch ipa file in IOS 10 real Device using appium 1.6.0
当我通过XCode构建WebDriverAgent时,它构建没有任何问题,但是当我尝试通过IntelliJ或Appium Desktop启动时,它会给我这个错误。
答案 0 :(得分:1)
所以我最终设法让它工作,这里是我遇到的一些错误以及我如何解决它们:
解决方案:查看Appium服务器日志,我注意到它无法写入目录。问题是我的Appium应用程序位于下载中。一旦我将其移动到应用程序,这个问题就解决了。
解决方案:此处的问题出在我的配置文件中(我在XCode中打开了应用程序,然后转到“常规”选项卡查看这些内容)。 我创建了一个个人苹果帐户,但我没有运行应用程序所需的证书。我不得不让我们的iOS开发人员邀请我加入他们的团队,下载证书,然后勾选“自动管理签名”复选框 - 还有其他几个步骤,我不记得这些证书。
解决方案:我的能力出错,我把它设为:
capabilities.setCapability(“bundleId”,“com.facebook.WebDriverAgentLib”);
这是WebDriverAgent的bundleID,我用我的应用程序的bundleID更新了它:
capabilities.setCapability(“bundleId”,“myapp”);
(可以通过在finder中找到应用程序找到Bundle ID,右键单击并选择“Show Package Contents”。打开“Info.plist”文件,在那里你会找到应用程序的Bundle ID。