Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Selenium+Browsermob proxy+HTTPS


(vmaximv) #1

Hi All!
Реально ли “подружить” связку BMP-2.0-beta-[8|9] и selenium-java>2.30.0 для работы с https.
Убито пол дня, перепробованы разные версионные связки bmp+sel - результата ноль.
Максимум чего добился - это beta-8+2.43.1 с бубнотанцами в поме - по http ходит, на https обламывается (как в ФФ, так и в ИЕ):
Консоль

INFO 10/15 12:43:59 n.l.b.p.h.BrowserMo~ - org.apache.http.NoHttpResponseException: www.google.by failed to respond when requesting https://www.google.by/

Браузер
The connection was reset The connection to the server was reset while the page was loading.
Руками beta-10 билдить не хочу, лишние in-project зависимости тоже не греют. Ждать пока аффтор зальет в мавен репо “ломает”.

ЗЫ: сертификат установлен, прокси корректно прописываются в браузерах.
ЗЫ2: Кусок пома


(Sergey Korol) #2

Я недавно постил тему в БЗ. Собственно тест кода, залитого в GitHub, конектится к гуглу по https. Да и на своем проекте использую такой же код. Все работает с BMP 2.0-beta-9 + Selenium 34/36. С другими версиями не пробовал.


(Jane Tymoschuk) #3

Собственно да BMP 2.0-beta-9 + Selenium 35 работает стабильно

<dependency>
       <groupId>net.lightbody.bmp</groupId>
       <artifactId>browsermob-proxy</artifactId>
       <version>2.0-beta-9</version>
       <scope>test</scope>
       <exclusions>
            <exclusion>
                 <groupId>org.seleniumhq.selenium</groupId>
                 <artifactId>selenium-api</artifactId>
            </exclusion>
      </exclusions>
</dependency>
<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>2.35.0</version>
</dependency>

(Proton72) #4

Попробуйте добавить в проект новую версию httpmime:

    <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.3.5</version>
</dependency>

Но окончательно проблемы с selenium 43.1 + BMP 2.0 у меня решились только после перехода на самостоятельно собранную BMP beta-10.


(vmaximv) #5

@ArtOfLife, @tymoschuk_jane : Ваши варианты были испробованы в первую очередь, я не ленюсь пользоваться поиском . Но… я понятия не имею как это у вас работает… Да - браузер ИЕ, да - на компе три сетевых карты.

юъЄ 16, 2014 9:10:14 AM net.sf.uadetector.internal.data.DataBuilder addPatternToDevice
INFO: No pattern available for 'Other'.
юъЄ 16, 2014 9:10:14 AM net.sf.uadetector.internal.data.DataBuilder addPatternToDevice
INFO: No pattern available for 'Personal computer'.
юъЄ 16, 2014 9:10:14 AM net.sf.uadetector.internal.data.DataBuilder addPatternToDevice
INFO: No pattern available for 'Personal computer'.
юъЄ 16, 2014 9:10:15 AM org.openqa.selenium.browserlaunchers.WindowsProxyManager backupRegistrySettings
INFO: Backing up registry settings...
java.lang.RuntimeException: Bug extracting hudsuckr
        at org.openqa.selenium.browserlaunchers.WindowsProxyManager.extractHudsuckr(WindowsProxyManager.java:575)
        at org.openqa.selenium.browserlaunchers.WindowsProxyManager.runHudsuckr(WindowsProxyManager.java:585)
        at org.openqa.selenium.browserlaunchers.WindowsProxyManager.backupHudsuckrSettings(WindowsProxyManager.java:624)
        at org.openqa.selenium.browserlaunchers.WindowsProxyManager.backupRegistrySettings(WindowsProxyManager.java:286)
        at org.openqa.selenium.ie.InternetExplorerDriver.prepareProxy(InternetExplorerDriver.java:324)
        at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:220)
        at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:214)
        at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:196)
....
Caused by: java.io.IOException: Unable to locate: hudsuckr/hudsuckr.exe
        at org.openqa.selenium.io.FileHandler.locateResource(FileHandler.java:86)
        at org.openqa.selenium.io.FileHandler.copyResource(FileHandler.java:55)
        at org.openqa.selenium.browserlaunchers.WindowsProxyManager.extractHudsuckr(WindowsProxyManager.java:572)

После краткого “гугления” selenium-java был заменен на selenium-server. Но с 34-36 ip прокси выходит такой, со всеми вытекающими:

function FindProxyForURL(url, host) {
  return 'PROXY 0.0.0.0:52174';
}