我有兴趣通过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
答案 0 :(得分:0)
据我所知,这是可能的。我们曾经将测试环境运行在docker容器中,并且可以在本地计算机上访问该站点。同样,您可能必须在容器之间建立网络连接。