@@ -143,6 +143,58 @@ EPICSHOP_EDITOR="C:\Program Files\Microsoft VS Code\bin\code.cmd"
143
143
Make certain that if the path includes spaces that you wrap the path in quotes
144
144
as above.
145
145
146
+ ### Remote development/devcontainer setup
147
+
148
+ If you want or need to run this workshop in a remote environment, or if you're
149
+ using devcontainer, then for the tests to work you need some additional setup.
150
+
151
+ Devcontainer is implemented differently in different editors, but in VS Code it's
152
+ as simple as having the ` Dev containers ` extension installed and then creating a
153
+ configuration file. There's a wizard that will walk you through the process of
154
+ setting it up.
155
+
156
+ The minimal configuration needs would use the ` Node.js & Typescript ` template.
157
+ From there you would need to add the following to the ` devcontainer.json ` file:
158
+
159
+ ``` json
160
+ "remoteEnv" : {
161
+ // or the editor you use so that actions to open files
162
+ // in the workshop will work correctly
163
+ "EDITOR" : " code" ,
164
+ // this is for playwright remote server connection assuming
165
+ // network host so no changes in the workshop code are required
166
+ // in actual scenarios, you could use a docker compose file
167
+ // then use the container name instead of localhost
168
+ // (in which case, the playwright config would need to
169
+ // change to point to the main container name instead of localhost)
170
+ "PW_TEST_CONNECT_WS_ENDPOINT" : " ws://localhost:3000/"
171
+ },
172
+ "initializeCommand" : {
173
+ // this stops and removes the container if it's already running
174
+ // then starts a new one while starting the devcontainer
175
+ // pay attention that the version of playwright matches the one in the workshop
176
+ // check the docs for more information on how to run the playwright remote server
177
+ // https://playwright.dev/docs/docker#remote-connection
178
+ "playwright" :
" docker stop playwright || true && docker rm playwright || true && docker run --network=host -d --rm --name playwright --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.47.0-noble /bin/sh -c \" npx -y [email protected] run-server --port 3000 --host 0.0.0.0\" "
179
+ },
180
+ // this is needed to simplify the setup process for the workshop
181
+ "runArgs" : [ " --network=host" ]
182
+ ```
183
+
184
+ After this, you can run the devcontainer, then run the ` npm run setup ` command
185
+ to set up the environment.
186
+
187
+ Finally, on the ` playground ` folder, when running the playwright tests, you
188
+ should use the following command:
189
+
190
+ ``` bash
191
+ # you can change the port if needed
192
+ npm run test:e2e:dev -- --ui-port=9292 --ui-host=0.0.0.0
193
+ ```
194
+
195
+ This will open the UI mode in a browser window instead of the native window.
196
+ For more information: https://playwright.dev/docs/test-ui-mode#docker--github-codespaces
197
+
146
198
## Exercises
147
199
148
200
- ` exercises/*.*/README.md ` : Exercise background information
0 commit comments