首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2.1.0要求最低docker版本?

2.1.0要求最低docker版本?
EN

Stack Overflow用户
提问于 2018-04-03 21:49:08
回答 1查看 67关注 0票数 0

我正在尝试评估Selenium-Jupiter,但得到了不同的问题,行为取决于我使用的版本。

我正在使用gradle 4.6和

代码语言:javascript
复制
> docker version | grep API
API version:     1.24
API version:     1.24

使用io.github.bonigarcia:selenium-jupiter:2.1.0

代码语言:javascript
复制
gradle clean test --info
...
 Caused by:
    io.github.bonigarcia.SeleniumJupiterException: io.github.bonigarcia.SeleniumJupiterException: com.spotify.docker.client.exceptions.ContainerNotFoundException: Container not found: c222d04fa9726606939b34d27565345d5462dbc9e6744e438a662099325c573a

        Caused by:
        io.github.bonigarcia.SeleniumJupiterException: com.spotify.docker.client.exceptions.ContainerNotFoundException: Container not found: c222d04fa9726606939b34d27565345d5462dbc9e6744e438a662099325c573a

            Caused by:
            com.spotify.docker.client.exceptions.ContainerNotFoundException: Container not found: c222d04fa9726606939b34d27565345d5462dbc9e6744e438a662099325c573a

                Caused by:
                com.spotify.docker.client.exceptions.DockerRequestException: Request error: POST unix://localhost:80/containers/c222d04fa9726606939b34d27565345d5462dbc9e6744e438a662099325c573a/start: 404, body: {"message":"invalid header field value \"oci runtime error: container_linux.go:247: starting container process caused \\\"exec: \\\\\\\"\\\\\\\": executable file not found in $PATH\\\"\\n\""}

                    Caused by:
                    javax.ws.rs.NotFoundException: HTTP 404 Not Found

使用io.github.bonigarcia:selenium-jupiter:2.0.0

代码语言:javascript
复制
gradle clean test --info
...
 Caused by:
    io.github.bonigarcia.SeleniumJupiterException: io.github.bonigarcia.SeleniumJupiterException: org.openqa.selenium.WebDriverException: create container: Error response from daemon: client is newer than server (client API version: 1.30, server API version: 1.24) (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 31 milliseconds
    Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
    System info: host: 'xxxx', ip: '10.167.6.18', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-514.21.1.el7.x86_64', java.version: '1.8.0_131'
    Driver info: driver.version: RemoteWebDriver

        Caused by:
        io.github.bonigarcia.SeleniumJupiterException: org.openqa.selenium.WebDriverException: create container: Error response from daemon: client is newer than server (client API version: 1.30, server API version: 1.24) (WARNING: The server did not provide any stacktrace information)
        Command duration or timeout: 31 milliseconds
        Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
        System info: host: 'xxxx', ip: '10.167.6.18', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-514.21.1.el7.x86_64', java.version: '1.8.0_131'
        Driver info: driver.version: RemoteWebDriver

            Caused by:
            org.openqa.selenium.WebDriverException: create container: Error response from daemon: client is newer than server (**client API version: 1.30, server API version: 1.24**) (WARNING: The server did not provide any stacktrace information)
            Command duration or timeout: 31 milliseconds
            Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
            System info: host: 'xxxx', ip: '10.167.6.18', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-514.21.1.el7.x86_64', java.version: '1.8.0_131'
            Driver info: driver.version: RemoteWebDriver

我假设Selenium-Jupiter和Selenoid之间的交互需要一些配置,就像这里描述的http://aerokube.com/selenoid/latest/#_recommended_docker_settings中的DOCKER_API_VERSION,但我不知道在Selenium-Jupiter方面在哪里进行这种配置。

我意识到这是一次相当古老的呼救,但希望至少有人能给我一些提示,告诉我如何解决这个问题。我真的很喜欢使用Docker进行这种虚拟化的想法,我认为我们的GUI测试真的可以从这样的解决方案中受益。

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 07:57:13

您可以更改Selenium-Jupiter使用的Docker API版本,如下所示:

代码语言:javascript
复制
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.openqa.selenium.WebDriver;

import io.github.bonigarcia.seljup.SeleniumExtension;

public class MyTest {

    @RegisterExtension
    static SeleniumExtension seleniumExtension = new SeleniumExtension();

    @BeforeAll
    static void setup() {
        seleniumExtension.getConfig().setDockerApiVersion("API-version"); // 1.35 by default
    }

    @Test
    void test(WebDriver driver) {
        // your test
    }

}

我将使用最新版本的Selenium-Jupiter,在撰写本文时是3.1.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49631792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档