我有兴趣通过 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/