Маршрутизация трафика через прокси NTLM при использовании драйвера Appium

В своем приложении я планирую тесты мобильного приложения для клиентского приложения. используя Browserstack. К сожалению, когда клиент запускает тест на своем локальном компьютере, он не может установить соединение с Browserstack. Оказалось, что весь «не внутренний» трафик проходит через прокси NTLM, поэтому мое приложение не может создать прямое соединение с BS.

Я пытался изменить настройки файлов конфигурации, чтобы использовать прокси по умолчанию, но это не помогло - я получаю ошибку авторизации 407. В настоящее время я пытаюсь заставить его работать в коде напрямую, но безуспешно. Более того, я читал, что AppiumDriver не использует никаких настроек, связанных с прокси.

var proxy = new Proxy();
proxy.Kind = ProxyKind.AutoDetect;
proxy.IsAutoDetect = true;

AppiumOptions caps = new AppiumOptions();
caps.AddAdditionalCapability("browserstack.user", "user");
caps.AddAdditionalCapability("browserstack.key", "key");
caps.AddAdditionalCapability("device", "Samsung Galaxy S8");
caps.AddAdditionalCapability("os_version", "7.0");
caps.AddAdditionalCapability("name", string.Format("Requested 
time: {0}", DateTime.Now));
caps.AddAdditionalCapability("realMobile", true);
caps.AddAdditionalCapability("browserstack.idleTimeout", 300);
caps.AddAdditionalCapability("app", "MobileAppName");
caps.AddAdditionalCapability("ACCEPT_SSL_CERTS", true);
caps.Proxy = proxy;

try
{
 return new  
 AndroidDriver<OpenQA.Selenium.Appium.Android.AndroidElement>(
 new Uri("https://hub-cloud.browserstack.com/wd/hub"), caps);
 }
 catch (Exception e)
 {
 throw new Exception($"Couldn't create browserstack 
 instance. {e.Message + e.StackTrace}");
 }
 }

Я хочу добиться, чтобы драйвер Appium использовал прокси и учетные данные, определенные на компьютере клиента, для подключения к концентратору Browserstack.

Любые предложения приветствуются, так как я слишком долго борюсь с проблемой.


person Daniel Stachura    schedule 24.06.2019    source источник


Ответы (1)


Кажется, что сам Appium не поддерживает программную передачу данных прокси. Соответствующие ссылки для того же - # 1, # 2, №3

Вы можете попробовать внести адрес BrowserStack Hub в белый список на своем клиентском компьютере, чтобы подключиться к BrowserStack Hub.

person Ozone17    schedule 24.06.2019
comment
Здравствуйте, спасибо за комментарий! Было предложено добавить адреса стека браузера в белый список (чтобы подключение к BS не проходило через прокси), но, по крайней мере, на данный момент клиент не хочет вносить такие изменения в конфигурацию своего прокси. Вот почему я пытаюсь обойти эту проблему. Поскольку у меня нет идей, эта тема - моя последняя попытка найти какое-либо решение. - person Daniel Stachura; 25.06.2019