t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не сетается proxy для iedriver после нескольких успешных попыток

internet-explorer
proxy
selenium
webdriver
Теги: #<Tag:0x00007f9c50ac0a78> #<Tag:0x00007f9c50ac0938> #<Tag:0x00007f9c50ac07d0> #<Tag:0x00007f9c50ac0690>

(Dmitry) #1

Добрый день, может кто-то может подсказать, почему перестает сетатся прокси для ИЕ после ~50 тестов. Сначала все работает хорошо, прокси сетается.

Посмотрел логи iedriver и скорее всего ошибка в этом:

T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\proxymanager.cpp(97) ProxyManager::SetProxySettings
D 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\proxymanager.cpp(100) Setting proxy for individual IE instance.
T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\proxymanager.cpp(244) ProxyManager::SetPerProcessProxySettings
T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\proxymanager.cpp(147) ProxyManager::BuildProxySettingsString
D 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\proxymanager.cpp(180) Built proxy settings string: ‘http=localhost:6666 ftp=localhost:6666 https=localhost:6666’
T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\hookprocessor.cpp(105) Entering HookProcessor::Initialize
T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\hookprocessor.cpp(164) Entering HookProcessor::InstallWindowsHook
W 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\hookprocessor.cpp(187) [Windows Error 126]: Unable to set windows hook
T 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\hookprocessor.cpp(258) Entering HookProcessor::PushData
W 2019-05-04 15:21:59:208 c:\projects\webdriver\cpp\iedriver\hookprocessor.cpp(260) No hook procedure has been set

Как я понял, то перестает работать WindowsHook, но почему и как это фиксить? Может можно как то сетать прокси по другому?

Код

 public override IWebDriver CreateRemoteDriver()
        {
            var options = GetOptions();
          
            return new RemoteWebDriver(new Uri(GridUri), options.ToCapabilities(), CommandTimeout);
        }

        public InternetExplorerOptions GetOptions()
        {
            InternetExplorerOptions options = new InternetExplorerOptions
            {
                IntroduceInstabilityByIgnoringProtectedModeSettings = true,
                InitialBrowserUrl = "about:blank",
                EnableNativeEvents = true,
                EnsureCleanSession = true,
                EnablePersistentHover = false,
                UsePerProcessProxy = true,
                ForceCreateProcessApi = true,
                BrowserCommandLineArguments = "-private"
            };
            
            var str = GetStrategyValueOrNull();
            if (str != null)
                options.AddAdditionalCapability(PageLoadStrategyCapabilityName, str);

            foreach (var capability in CapabilityProperties)
            {
                options.AddAdditionalCapability(capability.Name, capability.Value);
            }

			var proxy = GetProxy();

			if (proxy != null)
			{
				options.Proxy = GetProxy();
			}
			return options;
        }

public Proxy GetProxy()
        {
            if (Proxy != null)
            {
				var proxy = new Proxy
				{
					Kind = ProxyKind.Manual,
					IsAutoDetect = false,
					HttpProxy = Proxy,
					SslProxy = Proxy,
					FtpProxy = Proxy
				};
				return proxy;
            }
            return null;
        }

Selenium Standalone Server 3.141.59
Internet Explorer Driver Server x64 3.141.59 (c x32 тоже самое)