mirror of
https://github.com/vector-im/element-web.git
synced 2024-12-01 15:11:11 +08:00
a5ce1c9dcb
* Add support for redirecting to external pages after logout This is primarily useful for deployments where the account is managed and needs to be logged out in other places too, like an SSO system. See docs for more information. * Add e2e test and fix Windows instructions * Fix performance gathering stats * use logger
2.4 KiB
2.4 KiB
Running the end-to-end tests on Windows
Windows is not the best platform to run the tests on, but if you have to, enable Windows Subsystem for Linux (WSL) and start following these steps to get going:
- Navigate to your working directory (
cd /mnt/c/users/travisr/whatever/matrix-react-sdk
for example). - Run
sudo apt-get install unzip python3 virtualenv dos2unix
- Run
dos2unix ./test/end-to-end-tests/*.sh ./test/end-to-end-tests/synapse/*.sh ./test/end-to-end-tests/element/*.sh
- Install NodeJS for ubuntu:
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get update sudo apt-get install nodejs
- Run
yarn link
andyarn install
for all layers from WSL if you haven't already. If you want to switch back to your Windows host after your tests then you'll need to re-runyarn install
(and possiblyyarn link
) there too. Though, do note that you can accesshttp://localhost:8080
in your Windows-based browser when running webpack in the WSL environment (it does not work the other way around, annoyingly). - In WSL, run
yarn start
at the element-web layer to get things going. - While that builds... Run:
sudo apt-get install x11-apps wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt -f install
- Get the IP of your host machine out of WSL:
cat /etc/resolv.conf
- use the nameserver IP. - Run:
cd ./test/end-to-end-tests ./synapse/install.sh ./install.sh ./run.sh --app-url http://localhost:8080 --log-directory ./logs
Note that using yarn test:e2e
probably won't work for you. You might also have to use the config.json from the
element/config-template
directory in order to actually succeed at the tests.
Also note that you'll have to use --no-sandbox
otherwise Chrome will complain that there's no sandbox available. You
could probably fix this with enough effort, or you could run a headless Chrome in the WSL container without a sandbox.
Reference material that isn't fully represented in the steps above (but snippets have been borrowed):