docker - docker 中的 WebdriverIO 测试

标签 docker selenium-webdriver docker-compose webdriver dockerfile

我有兴趣通过 webdriverio 访问在一个容器上运行的应用程序进行测试。当我在本地运行时,我执行以下操作,效果很好

yarn start // starts the app on htpp://localhost:3000
yarn test  // runs wdio test which access the htpp://localhost:3000 

webdriverio测试示例

it("check if submit button works", function(done) {
        browser.url('http://0.0.0.0:3000');
        var title = browser.getTitle();
        browser.click('#submitButton');
        console.log('App Title is: ' + title);
        browser.pause(3000);
    });

Dockerfile

FROM node:8.10.0
ADD . /app
WORKDIR /app
RUN yarn
CMD ["yarn", "start"]

docker-compose.yml

app:
  build: .
  command: "yarn start"
  ports:
    - 3000:3000
  expose:
    - "3000"

selenium:
  image: 'selenium/standalone-chrome:3.11.0-californium'
  expose:
    - "4444"
  links:
    - app
  log_driver: "none"

test:
  build: .
  command: "yarn test --host selenium"
  links:
    - selenium

我想在一个容器中运行该应用程序,然后运行测试来访问该应用程序进行测试

docker-compose up --build 

最佳答案

据我所知,这是可能的。我们曾经在 Docker 容器中运行测试环境,并且可以在本地计算机中访问该站点。同样,您可能必须在容器之间建立网络连接。

关于docker - docker 中的 WebdriverIO 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770175/

相关文章:

linux - Docker Overlay2 资源繁忙

docker - 在容器中写入文件时,Docker权限被拒绝

docker - 使用 WSL + Ubuntu 20.04 LTS 时访问 Docker 容器 IP

java - 如何在docker内持久保存在tomcat上运行的spring boot应用程序的 session

docker - 如何在 docker-compose 等 Kubernetes 中进行端口转发

java - 将带有 html/Javascript 的字符串放入 selenium webdriver

java - 在服务器端使用selenium出现异常

php - ChromeOptions 不起作用 - PHP WebDriver

docker - 测试重启策略 - 如何使容器崩溃以使其重新启动

docker - Cloudera cdh集群docker部署