在Docker中进行WebdriverIO测试

时间:2019-02-19 15:50:22

标签: 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 

1 个答案:

答案 0 :(得分:0)

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