aerokube / ggr

A lightweight load balancer used to create big Selenium clusters
https://aerokube.com/ggr/latest/
Apache License 2.0
314 stars 74 forks source link

Content-Type header does not indicate utf-8 encoded json: application/json - using selenium server 4 #355

Closed bimanaev closed 2 years ago

bimanaev commented 2 years ago

ggr: 1.6.10 selenium grid: 4.1.1 quota:

<qa:browsers xmlns:qa="urn:config.gridrouter.qatools.ru">
<browser name="firefox" defaultVersion="96.0">
    <version number="96.0" platform="WINDOWS">
        <region name="1">
            <host name="localhost" port="4445" count="4"/>
        </region>
    </version>
</browser>
</qa:browsers>

logs:

Could not start a new session. Response code 500. Message: cannot create session firefox-96.0-WINDOWS on any hosts after 1 attempt(s), last host error was: Content-Type header does not indicate utf-8 encoded json: application/json
Build info: version: '4.1.1', revision: 'e8fcc2cecf'
System info: host: '', ip: '', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_311'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: firefox, platformName: windows}], desiredCapabilities=Capabilities {browserName: firefox, platform: WINDOWS, version: 96.0}}]
Capabilities {}

steps: 1) start selenium server: java -jar selenium-server-4.1.1.jar standalone -p 4445 2) start ggr: ggr.exe -guests-allowed -guests-quota user 3) create driver, for example:

DesiredCapabilities capabilities = new DesiredCapabilities(Browser.FIREFOX.name().toLowerCase(), "96.0",
        Platform.WINDOWS);
    RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
    driver.get("https://ya.ru");
    driver.quit();

solution: line: https://github.com/aerokube/ggr/blob/master/proxy.go#L207 change to: req.Header.Set("Content-Type", "application/json; charset=utf-8") tested with: selenium 4, selenium 3 on windows

vania-pooh commented 2 years ago

@bimanaev please send this change as PR, we'll merge.

bimanaev commented 2 years ago

@vania-pooh done

vania-pooh commented 2 years ago

Merged.