|
3 år sedan | |
---|---|---|
.. | ||
reference-output | 3 år sedan | |
tests | 3 år sedan | |
README.md | 3 år sedan | |
galata-config.json | 3 år sedan | |
jupyter_server_config.py | 3 år sedan | |
package.json | 3 år sedan | |
repeated_test_run.sh | 3 år sedan | |
yarn.lock | 3 år sedan |
JupyterLab UI tests use Galata which is based on playwright and jest frameworks. Galata provides a high level API to control and inspect JupyterLab UI programmatically, testing tools and CLI to manage tests and other tasks.
.test.ts
in ui-tests/tests
directory.describe
and test
methods from Galata instead of jest, since Galata overrides them to be able to provide additional functionality.import { galata, describe, test } from '@jupyterlab/galata';
# install the ipykernel pre-release with support for debugging
python -m pip install --pre --upgrade ipykernel
# inside ui-tests directory:
# install dependencies
jlpm install --frozen-lockfile
# launch JupyterLab
# create empty working directory
mkdir jlab_root
# launch JupyterLab with test configuration
jlpm run start-jlab
# run UI tests once to create test captures to use as reference images
jlpm run test:create-references
# copy test captures into reference-output directory to use as references
# delete existing references
rm -rf reference-output/screenshots/*.*
# set locally generated test output as references
cp test-output/test/screenshots/*.* reference-output/screenshots
# run UI tests locally, repeatedly. make sure no test fails. wait for 10-20 successful repeats
./repeated_test_run.sh
reference-output/screenshots/
directoryjlpm run test:create-references
instead of jlpm run test
. Push your test suite files with change to CI script and create a PR. Do not push reference images generated on your local computer.ui-test-output
. Download it from GitHub Actions page and copy screenshots from test-output directory into ui-tests/reference-output/screenshots
directory. Make sure the changes are limited your newly added / modified tests.jlpm run test
now and push to your PR along with newly generated reference screenshots.jlpm run test:debug
by specifying the particular test suite(s) in package.json you want to debug. Check Galata CLI Options for list of available command-line options.