manishPatwari / WebDriverAgent

A WebDriver server for iOS that runs inside the Simulator.
Other
52 stars 15 forks source link

Ability to pass the Device IP address in the Terminal instead of changing in the FBWebSocket.m #5

Closed rdhandapani88 closed 6 years ago

rdhandapani88 commented 6 years ago

Team,

Need to add a functionality to pass the ip address of the node server and port while starting the webdriveragent like

Eg: xcodebuild test -workspace WebDriverAgent.xcworkspace -scheme WebDriverAgentRunner -destination "platform=iOS,id=8c9406453401735ad174d8f4118e2347772fc969" -deviceIP 10.191.206.65 -deviceport 5678

By this, we can start the device connection easily to the socket from single work space. It is just an suggestion, may be guide how to implement this.

shubhankaryash commented 6 years ago

Ideally this should not be powered through the command line, as the feature should be available to people running tests through xcode as well.

PrasadMadge commented 6 years ago

@shubhankaryash @manishPatwari @rdhandapani88 I am able to screencast and control my device using your solution, Thanks team !

Can anyone tell me how to execute test cases in parallel with appium using this solution. Appium internally uses webdriveragent provided by Facebook but its different from what is implemented in your solution.

Can anyone guide me on this?

shubhankaryash commented 6 years ago

@PrasadMadge We have moved the WebDriverAgent from the original WebServer solution to the WebSocket. Appium tests should work through this but you would probably need to change the integration logic to plug in to the WebSocket.

PrasadMadge commented 6 years ago

@shubhankaryash I am able to run my appium test cases having your webdriveragent installed on the device. What I observer after starting the server "sh ./Scripts/start-server.sh" , It was connecting/ disconnecting continuously, Hence not able to access device through localhost:8000.

Any idea why I am not able to control device ?

I had provided 8100 webdriveragent port to appium and test case was executed , assuming webdriveragent port to be 8100 in this solution.

We can point appium to use your webdriveragent in the backend. But since It was able to use your webdriveragent installed on the device I thought there is no need to do that.

shubhankaryash commented 6 years ago

@PrasadMadge For connecting the device you need to change the ip in FBWebSocket.m from localhost to the actual IP of your system where the node server is running. Localhost only works in simulators.

PrasadMadge commented 6 years ago

yes I have changed that to my system IP.

I am trying on real device using iOS 11.1, using USB connect internet sharing.