예제 #1
0
        public async Task <bool> ConnectToWifi()
        {
            try
            {
                var wireless = NativeWifi.EnumerateAvailableNetworks().FirstOrDefault(x => string.Equals(x.Ssid.ToString(), "wireless", StringComparison.CurrentCultureIgnoreCase));
                if (wireless != null)
                {
                    _logger.Log(LogLevel.Information, JsonSerializer.Serialize(wireless));
                    await NativeWifi.ConnectNetworkAsync(wireless.Interface.Id, wireless.ProfileName ?? "wireless", wireless.BssType, TimeSpan.FromSeconds(30));

                    _seleniumManipulator.LoginWifi();
                    return(true);
                }

                _errorHandler.LogErrorAndDelay("cannot connect wifi");
                if (_errorHandler.CheckError())
                {
                    _errorHandler.HandleError();
                }
                return(false);
            }
            catch (Exception e)
            {
                _errorHandler.LogErrorAndDelay(e.Message);
                if (_errorHandler.CheckError())
                {
                    _errorHandler.HandleError();
                }
                return(false);
            }
        }
예제 #2
0
        private void ClickButton(IWebDriver webDriver, By by, string buttonName)
        {
            while (CheckIfNetworkChanged(webDriver))
            {
                Thread.Sleep(3000);
                webDriver.Navigate().Refresh();
            }

            var button = webDriver.FindElements(by);

            while (button == null || !button.Any())
            {
                _errorHandler.LogErrorAndDelay($"{buttonName} button not found");
                if (_errorHandler.CheckError())
                {
                    _errorHandler.HandleError();
                }
                button = webDriver.FindElements(by);
            }

            button.First().Click();
        }