Appium iOS测试未运行
问题描述:
我试图使用appium设置自动化测试环境,但是我遇到了麻烦。我看到的问题是,appium正在提取包含.app目录的zip文件,但后来声称找不到.app文件。我的平台是mac。下面的确切的错误是:Appium iOS测试未运行
info: Unzipping /var/folders/0s/0kz_6kb13f35wxwjxkff9sdw0000gn/T/appium-app113922-2258-1ap6o7i.zip
info: Testing zip archive: /var/folders/0s/0kz_6kb13f35wxwjxkff9sdw0000gn/T/appium-app113922-2258-1ap6o7i.zip
info: Zip archive tested clean
info: Unzip successful
info: Got configuration error, not starting session
error: Failed to start an Appium session, err was: App zip unzipped OK, but we couldn't find a .app bundle in it. Make sure your archive contains the .app package and nothing else
info: Responding to client with error: {"status":6,"value":{"message":"A session is either terminated or not started","origValue":"App zip unzipped OK, but we couldn't find a .app bundle in it. Make sure your archive contains the .app package and nothing else"},"sessionId":null}
我不知道如果我做错事在我的代码,下面是我的设置()方法(它基本上是从官方的例子复制)的内容。
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device", "8b0949a1d3fe5d7283cc46ca5470acd67d6c5d7b");
File app = new File("/Users/user/path/to/zip");
capabilities.setCapability("version", "7.0");
capabilities.setCapability("app", app.getAbsolutePath());
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),
capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
答
对于任何有类似问题的人:我通过指定.app文件解决了这个问题,但是在运行appium而不是在测试代码中时,在命令行指定了设备的UDID。我认为指定'设备'功能会导致错误(可能会使appium认为它是Android测试,尽管写出它正在寻找.app)
答
需要考虑的事情:
- 您的.zip应该只包含的.app
- 的。应用程序应建在与正在设备上使用相同的开发证书的XCode(iPhone )
对我来说,它的工作原理是这样的:我在源代码中创建了一个.app并上传到设备。然后在Appium中,我刚刚指定了应用程序的Bundle ID(在XCode窗口>管理器>应用程序中,如果我记得的话)。