Starting WebDriverAgent and Using webDriverAgentUrl capability #7681

Open
baclark774 opened this Issue Jan 11, 2017 · 4 comments

Projects

None yet

4 participants

@baclark774

The problem

In an enterprise setup we want to build a .app package of the webdriver agent and distribute that package for all of our provisioned devices. Then launch the agent prior to test without each user having to setup code signing individually, and connect to it.

Currently I'm using ios-deploy to install and launch the app:
ios-deploy -b /path/to/the/local/WebDriverAgentRunner-Runner.app -L

Then running my appium instance with a capability as follows:
capabilities.setCapability("webDriverAgentUrl", "http://realDeviceIPAddress:8100");

But at this point the request is sent but it just hangs. My understanding was that I should be able to spin up WDA before hand using something like this approach and then connect to it with this capability?

Environment

  • Appium version (or git revision) that exhibits the issue: 1.6.3
  • Last Appium version that did not exhibit the issue (if applicable):
  • Desktop OS/version used to run Appium: Mac Sierra
  • Node.js version (unless using Appium.app|exe):
  • Mobile platform/version under test: 10.2
  • Real device or emulator/simulator: Real Device
  • Appium CLI or Appium.app|exe: CLI
@triager triager added the NeedsTriage label Jan 11, 2017
@imurchie
Member

Can you provide the logs so we can see what is going on?

@mykola-mokhnach
Collaborator

Can you check url accessibility manually? it is really listening on port 8100 at the time when appium is started?

@baclark774

Can confirm it's listening manually.

{
"value" : "Unhandled endpoint: / -- http://192.168.1.23:8100/ with parameters {\n wildcards = (\n ""\n );\n}",
"sessionId" : "E81C0C00-44EF-4A98-A36C-73B965546D95",
"status" : 1
}

@baclark774
baclark774 commented Jan 11, 2017 edited

Logs below. The last line where it tries to post to the running wda is where it just hangs forever:

[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"","bundleId”:”myappbundsle”,”deviceName":"null","platform":"MAC","webDriverAgentUrl":"http://192.168.1.23:8100","excludedDevices":"6129000567,6128001080","screenshotWaitTimeout":"5","sendKeyStrategy":"setValue","newCommandTimeout":"60","automationName":"XCUITest","browserName":"","takesScreenshot":"true","waitForAppScript":"$.delay(1000); true;","platformName":"iOS","autoAcceptAlerts":"true"},{},{"desiredCapabilities":{"app":"","bundleId”:”myappbundsle”””deviceName":"null","platform":"MAC","webDriverAgentUrl":"http://192.168.1.23:8100","excludedDevices":"6129000567,6128001080","screenshotWaitTimeout":"5","sendKeyStrategy":"setValue","newCommandTimeout":"60","automationName":"XCUITest","browserName":"","takesScreenshot":"true","waitForAppScript":"$.delay(1000); true;","platformName":"iOS","autoAcceptAlerts":"true"},"requiredCapabilities":{}},null,null]
[Appium] Creating new XCUITestDriver session
[Appium] Capabilities:
[Appium]   app: ''
[Appium]   bundleId: ‘my app’
[Appium]   deviceName: 'null'
[Appium]   platform: 'MAC'
[Appium]   webDriverAgentUrl: 'http://192.168.1.23:8100'
[Appium]   excludedDevices: '6129000567,6128001080'
[Appium]   screenshotWaitTimeout: '5'
[Appium]   sendKeyStrategy: 'setValue'
[Appium]   newCommandTimeout: '60'
[Appium]   automationName: 'XCUITest'
[Appium]   browserName: ''
[Appium]   takesScreenshot: 'true'
[Appium]   waitForAppScript: '$.delay(1000); true;'
[Appium]   platformName: 'iOS'
[Appium]   autoAcceptAlerts: 'true'
[Appium]   udid: ‘mydeviceudid’
[debug] [XCUITest] XCUITestDriver version: 2.5.3
[BaseDriver] Capability 'autoAcceptAlerts' changed from string to boolean. This may cause unexpected behavior
[BaseDriver] Capability 'newCommandTimeout' changed from string ('60') to integer (60). This may cause unexpected behavior
[BaseDriver] Capability 'screenshotWaitTimeout' changed from string ('5') to integer (5). This may cause unexpected behavior
[BaseDriver] The following capabilities were provided, but are not recognized by appium: platform, excludedDevices, takesScreenshot.
[XCUITest] The capabilities 'autoAcceptAlerts' and 'autoDismissAlerts' do not work for XCUITest-based tests. Please adjust your alert handling accordingly.
[BaseDriver] Session created with session id: a421c209-e65a-4c8d-904e-abbe3d85f4fa
[debug] [XCUITest] Xcode version set to '8.2.1'
[debug] [XCUITest] iOS SDK Version set to '10.2'
[debug] [XCUITest] Available devices: mydeviceudid
[debug] [XCUITest] Creating iDevice object with udid mydeviceudid
[XCUITest] Determining device to run tests on: udid: ‘mydeviceudid’, real device: true
[debug] [iOSLog] Attempting iOS device log capture via libimobiledevice idevicesyslog
[debug] [iOSLog] Found idevicesyslog: '/usr/local/bin/idevicesyslog'
[XCUITest] Setting up real device
[XCUITest] Using WDA path: '/Users/myuser/git/appium/node_modules/appium-xcuitest-driver/WebDriverAgent'
[XCUITest] Using WDA agent: '/Users/myuser/git/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj'
[XCUITest] Using provided WebdriverAgent at 'http://192.168.1.23:8100'
[debug] [XCUITest] Sending createSession command to WDA
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://192.168.1.23:8100/session] with body: {"desiredCapabilities":{"bundleId":"com.mtvn.VMNPlayerSampleApp","arguments":[],"environment":{},"shouldWaitForQuiescence":true}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment