private static AppiumDriver <AppiumWebElement> InitializeDriver(DriverCapabilities capabilities) { AppiumOptions caps = capabilities.GetDriverOptions(); TestEnvironmentParameters TestRunParameters = capabilities.GetEnvironmentContext(); int timeout = Convert.ToInt32(TestRunParameters.RS_DeviceReadyTimeout); Uri serverUri = TestRunParameters.ServerUri; if (TestRunParameters.RS_PlatformName.Equals("Android", StringComparison.OrdinalIgnoreCase)) { return(GetDriver(() => new CustomAndroidDriver(serverUri, caps, TimeSpan.FromSeconds(timeout)))); } if (TestRunParameters.RS_PlatformName.Equals("iOS", StringComparison.OrdinalIgnoreCase)) { return(GetDriver(() => new CustomIOSDriver(serverUri, caps, TimeSpan.FromSeconds(timeout)))); } throw new PlatformNotSupportedException($"[{TestRunParameters.RS_PlatformName}] platform is not supported."); }