2gis / Winium.Mobile

Winium.Mobile is Selenium Remote WebDriver implementation for automated testing of Windows StoreApps and Silverlight apps, tested on emulators (currently only Windows Phone/Mobile apps are supported).
Mozilla Public License 2.0
51 stars 29 forks source link

XdeVirtualMachineException - "Emulator 8.1 WVGA 4 inch 512MB.username not found" #158

Closed nikolaslpm closed 8 years ago

nikolaslpm commented 8 years ago

Hello @NickAb !

There is 2 unsual things happenning, probably related to each other:

1) After i launch Winium.StoreApps.WebDriver.exe, i see only one message in the windows console: "Starting Winium.StoreApps.Driver on port 9999". After that nothing is wrote.

2) The Emulator is launched but i receive a "XdeVirtualMachineException" because the "vm" variable is still null after the following breakpoint:

(at 'EmulatorFactory.cs' Class ) vm = wmiFactory.GetVirtualMachine(fullName).

I'm currently using Selenium 2.45, Visual Studio Premium 2013 Update 4 on Windows 8 OS plataform.

Any help i would appreciate it. Thanks in advanced.

NickAb commented 8 years ago

Hello,

Does emulator launch correctly, i.e. OS loads in it and you can interact with it? Are you able to start Emulators using some other tool, for example Windows Phone Application Deployment 8.1? Have you tried launching driver as administrator?

NickAb commented 8 years ago

Could you also make sure that emulator fullName used by driver is equal to the name of the emulator virtual machine that can be found in Hyper-V manager?

nikolaslpm commented 8 years ago

Hello @NickAb ,

I was able to solved it thanks to your questions.

The problem was that my username belongs to a company domain. So i created a new user in the local machine and added to Hyper-V group. Then i executed WebDriver as Administrator just for in case and it works. The inspector wasn't working before but with those changes it's working like a charm.

The only thing that remained is that the WebDriver.exe isn't logging anything after the message "Starting Winium.StoreApps.Driver on port 9999". Do you have any ideas?

Thanks for the help! ;)

NickAb commented 8 years ago

It should log incoming requests by default, but try using --verbose option when starting the driver, it should increase log level. See docs for more options. Also, note that if you use --log-pathfile, then all log messages will go directly to the file specified, nothing will be logged to standard output.

If it is not a sensitive information, could you please provide me how the virtual machine name was formed when you used username belonging to domain? Because we use domain users on our windows machines and the virtual machine name is formed using following patter <EMULATOR_NAME>.<USERNAME>. You can replace the user name or domain exact values by anything, I just need to understand the pattern, like order of components, what components go in, if there any dots, slashes or anything, domain name, etc.

nikolaslpm commented 8 years ago

@NickAb I created a shortcut for the WebDriver.exe and added "--verbose" to the call and it worked. Now it's logging everything.

My username has a underscore ("_"), for instance "nikolas_lpm", and i did check the value of the variable "fullname" sent to "GetVirtualMachine" and it was "Emulator 8.1 WVGA 4 inch 512MB.nikolas_lpm".

I've tried to change the fullname just to the emulator's name without the username part, but the problem remained. And my user was always prompted to join Hyper V group everytime the Emulator was launched. I tried to add it to the group but only local domain users were allowed.

I appreciate the help, thanks again! You guys are awesome by doing this project where no one has.