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.");
        }