GitHub Actions
Chromeを使ったE2Eテスト
code:test.yml
name: Test
jobs:
test:
runs-on: ubuntu-latest
container:
image: ruby:2.6.6
options: --network-alias main
services:
chrome: selenium/standalone-chrome
steps:
- 云々
みたいな形で--network-alias mainを渡すことで、chromeのコンテナからメインのコンテナをmainというホスト名で参照できるようになる。逆にメインのコンテナからはchromeというホスト名でchromeのコンテナを参照できる。
あとは、メインのコンテナからhttp://chrome:4444/wd/hubで操作できるし、chromeではhttp://mainでメインのコンテナで実行しているアプリにアクセスできる。
ここでホスト名をgTLDのものにしてしまうと、ChromeがgTLDと誤解して失敗したりするので注意。
例えばappというホスト名にしていると、appドメインの性質に則ってChromeが自動でTLSで接続しに行こうとする。