2014-09-02 37 views
0

是否有可能让Appium在远程计算机上运行,​​同时将设备连接到本地计算机,还可以运行来自本地机器?Appium:如何在本地计算机上针对远程appium服务器运行Java测试和设备

目前,Appium继续检查运行Appium的设备的adb(当然没有),并在超时后失败。我在本地运行Appium时没有问题。

下面是从本地机器设备连接运行我的功能(IP:192.168.1.78):

@Before 
public void setUp() throws Exception 
{ 
    final DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); 
    capabilities.setCapability("appium-version", "1.2"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability("platformVersion", "4.4"); 
    capabilities.setCapability("deviceName", "SCH-I545"); 
    capabilities.setCapability("appPackage", "<appPackage_goes_here>"); 
    capabilities.setCapability("appActivity", "<appActivity_goes_here>"); 
    driver = new AppiumDriver(new URL("http://192.168.2.109:4723/wd/hub"), capabilities); 

    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 
} 

在这里,从远程计算机(IP是Appium控制台日志:192.168.2.109 ):

[email protected]:3.2: ~/appium :$node . 
info: Welcome to Appium v1.2.0 (REV 83e64a139b928fb1f6c06e50370f9f0140ecaa30) 
info: Appium REST http interface listener started on 0.0.0.0:4723 
info: LogLevel: debug 
info: --> POST /wd/hub/session {"desiredCapabilities":{"platformVersion":"4.4","platformName":"Android","deviceName":"SCH-I545","browserName":"","appActivity":"com.alldigital.android.cox.NewsActivity","appium-version":"1.2","appPackage":"com.cmgdigital.wsoctvhandset"}} 
debug: The following desired capabilities were provided, but not recognized by appium. They will be passed on to any other services running on this server. : appium-version 
debug: Didn't get app but did get Android package, will attempt to launch it on the device 
debug: Creating new appium session b184a564-321d-4753-af63-9bd7fbf56b6e 
info: Starting android appium 
debug: Using fast reset? true 
debug: Preparing device for session 
debug: Not checking whether app is present since we are assuming it's already on the device 
debug: Checking whether adb is present 
debug: Using adb from /Users/QA1/android-sdk-macosx/sdk/platform-tools/adb 
info: Retrieving device 
debug: Trying to find a connected android device 
debug: Getting connected devices... 
debug: executing: "/Users/QA1/android-sdk-macosx/sdk/platform-tools/adb" devices 
debug: 0 device(s) connected 
debug: Could not find devices, restarting adb server... 
debug: executing: "/Users/QA1/android-sdk-macosx/sdk/platform-tools/adb" kill-server 
debug: Getting connected devices... 
debug: executing: "/Users/QA1/android-sdk-macosx/sdk/platform-tools/adb" devices 
debug: 0 device(s) connected 
....... continues trying ....... 
debug: Sent shutdown command, waiting for UiAutomator to stop... 
warn: UiAutomator did not shut down fast enough, calling it gone 
debug: Cleaning up android objects 
debug: Cleaning up appium session 
error: Failed to start an Appium session, err was: Error: Could not find a connected Android device. 
debug: Error: Could not find a connected Android device. 
    at ADB.getDevicesWithRetry (/Users/QA1/appium/node_modules/appium-adb/lib/adb.js:612:15) 
    at androidCommon.prepareActiveDevice (/Users/QA1/appium/lib/devices/android/android-common.js:354:12) 
    at null.<anonymous> (/Users/QA1/appium/lib/devices/android/android-common.js:294:26) 
    at /Users/QA1/appium/node_modules/async/lib/async.js:610:21 
    at /Users/QA1/appium/node_modules/async/lib/async.js:249:17 
    at iterate (/Users/QA1/appium/node_modules/async/lib/async.js:149:13) 
    at /Users/QA1/appium/node_modules/async/lib/async.js:160:25 
    at /Users/QA1/appium/node_modules/async/lib/async.js:251:21 
    at /Users/QA1/appium/node_modules/async/lib/async.js:615:34 
    at androidCommon.prepareEmulator (/Users/QA1/appium/lib/devices/android/android-common.js:344:5) 
debug: Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not find a connected Android device.)","origValue":"Could not find a connected Android device."},"sessionId":null} 
info: <-- POST /wd/hub/session 500 30473.764 ms - 206 
+0

我不知道这是可能的,但按我的经验, ppium服务器和设备应该在同一台机器上。 – 2015-12-29 09:54:43

回答

0

尝试使用:

driver = new RemoteWebDriver(new URL("http://192.168.2.109:4723/wd/hub"), capabilities); 
+0

请为您的解决方案提供解释 – Huangism 2014-09-05 15:53:25

+0

这没有奏效。 Appium仍然希望将设备连接到运行服务器的同一台计算机上。此外,更改为RemoteWebDriver需要更改应用程序路径并将.apk文件移至Appium服务器运行的位置 – 2014-09-05 18:18:22

相关问题