This Pull request contains some improvements for SpecFlow.Actions.WindowsAppDriver that were necessary to make it work for our purposes. It contains the following changes:
WindowsAppDriverOptions.Current isn't lazy (and therefore "cached") anymore. The reason is, that we have to modify the capabilities after each scenario. We are doing this by modifying the WindowsAppDriverConfiguration. These changes do not take effect, when WindowsAppDriverOptions.Current is lazy.
Introduced new option WindowsAppDriverPort. On some computers in our company the WinAppDriver default port is already in use by some Windows process. Without the ability to configure the port to be used for the WinAppDriver, it is impossible to launch the tests on these computers.
Introduced new option CloseAppAutomatically. Currently, the AUT will be automatically closed in AppDriver.Dispose. Unfortunately, this doesn't always work for the application we are testing, because sometimes there are additional steps necessary to really close the app. Therefore, we are handling the termination of the application ourselves after each scenario. But then Current.CloseApp() will throw an exception in AppDriver.Dispose. To maintain backwards compatibility, the setting is optional and default to true.
This Pull request contains some improvements for SpecFlow.Actions.WindowsAppDriver that were necessary to make it work for our purposes. It contains the following changes:
WindowsAppDriverOptions.Current
isn't lazy (and therefore "cached") anymore. The reason is, that we have to modify the capabilities after each scenario. We are doing this by modifying the WindowsAppDriverConfiguration. These changes do not take effect, whenWindowsAppDriverOptions.Current
is lazy.WindowsAppDriverPort
. On some computers in our company the WinAppDriver default port is already in use by some Windows process. Without the ability to configure the port to be used for the WinAppDriver, it is impossible to launch the tests on these computers.CloseAppAutomatically
. Currently, the AUT will be automatically closed inAppDriver.Dispose
. Unfortunately, this doesn't always work for the application we are testing, because sometimes there are additional steps necessary to really close the app. Therefore, we are handling the termination of the application ourselves after each scenario. But thenCurrent.CloseApp()
will throw an exception inAppDriver.Dispose
. To maintain backwards compatibility, the setting is optional and default totrue
.