Appium iOS测试未运行

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)

需要考虑的事情:

  1. 您的.zip应该只包含的.app
  2. 的。应用程序应建在与正在设备上使用相同的开发证书的XCode(iPhone )

对我来说,它的工作原理是这样的:我在源代码中创建了一个.app并上传到设备。然后在Appium中,我刚刚指定了应用程序的Bundle ID(在XCode窗口>管理器>应用程序中,如果我记得的话)。