用于在Android中测试Web应用程序的Appium(Nexus 7 - Simulator)

时间:2014-07-09 13:35:11

标签: appium

在Android中使用Appium进行Web应用程序测试的任何人?

目前我正在使用Appium在IOS模拟器(IPad)中自动化我的Web应用程序,它运行正常。我也想在Android上使用它(即Mac机器中的Nexus7 Simulator)。

我尝试过以下所需的功能......

            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("device", "selendroid");
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            capabilities.setCapability(CapabilityType.VERSION, "4.2.2");
            capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
            driver = new RemoteWebDriver(new URL("http://localhost:4723/wd/hub"), capabilities);

但我得到的错误......

  

收到配置错误,没有启动会话信息:响应   客户端有错误:{“status”:6,“value”:{“message”:“会话是   已终止或未启动(原始错误:ENOENT,stat   “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.2.sdk/Applications')","errno":34,"code":"ENOENT","path” : “/应用/ Xcode.app /内容/开发/平台/ iPhoneSimulator.platform /开发商/软件开发工具包/ iPhoneSimulator4.2.2.sdk /应用”, “origValue”:“ENOENT,   统计   '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.2.sdk/Applications'"},"sessionId":null} POST / wd / hub / session

我使用的是以下版本: - 1)Appium 0.10.4
2)Mac 10.7.5
3)Selenium WebDriver 2.41
4)Android - 4.2.2 API级别17
5)Nexus7模拟器。

有人可以帮我解决这个问题吗?

先谢谢!!

1 个答案:

答案 0 :(得分:1)

你错过了platformName功能,所以它试图使用iOS的模拟器

  

"errno":34,"code":"ENOENT","path":"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.2.sdk/Applications"

它正在寻找iPhoneSimulator4.2.2.sdk,所以它认为你在iPhone上使用的是iPhone模拟器和it can't find the directory 4.2.2版,所以它失败了。

<强> Read the documentation on DesiredCapabilities

DesiredCapabilities的其他问题:

您将device设置为selendroid - 您应该将deviceName设置为Nexus7 Simulator(或该模拟器的进程名称)

此外,您将webdriver指向localhost,我认为这不起作用?它应该是0.0.0.0:4732/wd/hub