Appium iOS测试未运行

时间:2013-10-22 16:55:18

标签: ios testing webdriver automated-tests appium

我正在尝试使用appium设置自动化测试环境,但是我遇到了麻烦。我看到的问题是,appium正在解压缩包含.app目录的zip,但后来声称它无法找到.app。我的平台是mac。确切的错误如下:

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}

我不确定我的代码中是否有错误,下面是我的setup()方法的内容(基本上是从官方示例中复制的)。

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);

2 个答案:

答案 0 :(得分:0)

需要考虑的事项:

  1. 您的.zip应仅包含.app
  2. .app应该使用设备上使用的相同开发证书在XCode中构建(iPhone)
  3. 对我而言,它的工作方式是:我在XCode中从源代码构建了一个.app并上传到了设备。然后在Appium我刚刚指定了该应用程序的Bundle ID(在XCode窗口中> Organizer> Apps,如果我没记错的话)。

答案 1 :(得分:0)

对于遇到类似问题的任何人:我通过指定.app文件修复了此问题,但在运行appium而不是在测试代码中时,在命令行指定了设备的UDID。我认为指定'设备'功能会导致错误(可能会让appium认为它是android测试,尽管写出它正在寻找.app)