... | ... | @@ -57,6 +57,7 @@ |
|
|
- SSH: allow connection to the Linux machine
|
|
|
- RDP: allow connection to the Windows machine
|
|
|
- The VNC port is disallowed. Use VNC over a SSH session for better security.
|
|
|
- The Windows machine also has its own security configuration in addition to the above setting. In particular, "10.0.0.30" is in the list of Internet Explorer trusted sites and the Windows Firewall has specific rules to accept connection from the task handler.
|
|
|
|
|
|
* Key Pairs
|
|
|
- mathjaxtest: key to use for remote access (SSH and RDP)
|
... | ... | @@ -72,10 +73,13 @@ |
|
|
- Choose the mathjaxtest Security Groups and Continue.
|
|
|
- Launch the instance.
|
|
|
|
|
|
* Attaching Elastic IP to an instance
|
|
|
* Associating Elastic IP to an instance
|
|
|
- Click on Network & Security => Elastic IPs
|
|
|
- Allocate New Adress, choose VPC
|
|
|
- Attach the address created to your instance
|
|
|
- Allocate New Adress, choose VPC, Yes Allocate
|
|
|
- Right Click on the Elastic IP => Associate
|
|
|
- Associate IP to an instance, Yes Associate
|
|
|
|
|
|
## Remote Access
|
|
|
|
|
|
* Some SSH/VNC/RDP clients
|
|
|
- Linux: vinagre (SSH, VNC), rdeskop (RDP)
|
... | ... | @@ -83,30 +87,59 @@ |
|
|
|
|
|
* Linux Instance
|
|
|
- Use a SSH client to connect to the instance.
|
|
|
- Once you are logged to a terminal, use ~/start.sh to start Selenium and VNC servers. On the main machine, this will also mount the mathjaxtest bucket on ~/MathJax-results/ and start the task handler.
|
|
|
- Use the "screen" command to handle several windows. Quick guide to the screen environment: use "Ctrl + a, Ctrl + c" to create a new window, "Ctrl + a, Ctrl + n" to move to the next window, "Ctrl + a, Ctrl + p" to move to the previous window, use the "exit" command to close the current window and finally "Ctrl + a, Ctrl + d" to detach the screen session. When you detach a screen session, all the servers will keep running even if you logout from the SSH session. You can restore your screen session when you connect again with the command "screen -r" (provided the machine has not been stopped since your last connection).
|
|
|
- In one screen window, use "~/start.sh" to start the VNC server. On the machine 10.0.0.30, this will also mount the mathjaxtest bucket on ~/MathJax-results/ and start the task handler.
|
|
|
- If necessary, you may use a VNC client to connect to the instance.
|
|
|
|
|
|
* Windows Instance
|
|
|
- Use a RDP client to connect to the instance.
|
|
|
- Open a Windows Session.
|
|
|
- Open a command line and execute "java -jar selenium-server.jar" to run the Selenium Server.
|
|
|
|
|
|
* Web Interface
|
|
|
- Open the page http://{public address of the main machine}/testing/web/
|
|
|
- Read http://devel.mathjax.org/testing/web/docs/html/qa-web-interface.html for more details.
|
|
|
|
|
|
* Directory Structure
|
|
|
* Linux
|
|
|
* ~/start.sh: Bash script to start Selenium and VNC servers.
|
|
|
* ~/MathJax-test/: MathJax testing framework
|
|
|
* ~/MathJax-results/: mount point for Amazon S3 bucket
|
|
|
* ~/Desktop/Webdrivers/: Drivers for Chrome. Added to $PATH by ~/.bashrc.
|
|
|
* Windows
|
|
|
* ~\selenium-server.bat: Bat script to start the Selenium server.
|
|
|
* ~\selenium-server.jar: Selenium server.
|
|
|
* ~\Desktop\Webdrivers\: Drivers for Chrome and Internet Explorer. Added to $PATH.
|
|
|
|
|
|
* Installation (see [[Platform Supported]])
|
|
|
* Browsers: Firefox, Chrome, Internet Explorer, Safari, Opera, Konqueror.
|
|
|
* Fonts: STIX and Mathjax fonts.
|
|
|
* Plugin: MathPlayer
|
|
|
* Selenium Servers (see directory structure)
|
|
|
* Webdrivers (see directory structure)
|
|
|
|
|
|
# Running the Tests
|
|
|
|
|
|
* Starting Selenium servers
|
|
|
- Linux: From a separate screen window, execute "~/seleniumServer.sh"
|
|
|
- Windows: Open "Windows PowerShell" and execute ".\seleniumServer.bat"
|
|
|
- If you have any problem to interrupt Selenium instances you may stop the server and run it again.
|
|
|
|
|
|
* Creating task
|
|
|
|
|
|
* Running task
|
|
|
|
|
|
# Stopping the Testing Framework
|
|
|
|
|
|
* Saving the test results to Amazon S3
|
|
|
The test results are saved on the main machine in MathJax-test/web/results/. They will be cleared when the instance terminates. To keep them, just copy the
|
|
|
relevant files in ~/MathJax-results/.
|
|
|
The test results are saved on the main machine in MathJax-test/web/results/. They will be cleared when the instance terminates. To save a copy to Amazon S3, just copy the relevant files in ~/MathJax-results/.
|
|
|
|
|
|
* Terminating an Instance
|
|
|
Right Click on an instance and select terminate. This will totally clear the instance and its associated volume. Do not forget to release Elastic IPs addresses.
|
|
|
Warning: this will totally clear the instance and its associated volume. Be sure to save unfinished task before doing so. In particular save a copy of the test results to Amazon S3. See also "Maintenance of the Testing Machine" if you need to update the AMIs.
|
|
|
- Right Click on an instance and select terminate.
|
|
|
- Check "Release Elastic IPs", Yes Terminate
|
|
|
|
|
|
# Maintenance of the Testing Machine
|
|
|
|
|
|
* Preserving the state of the Linux or Windows machines
|
|
|
Instances Actions => Create an AMI file. After a moment, a new AMI image and Snapshot will be created. |
|
|
Instances Actions => Create an AMI file. After a moment, a new AMI image and Snapshot will be created. You can now terminate the instance and delete the former AMI and Snapshot. Problem: it may be easy to unintentionally delete the Snapshot of a machine.
|
|
|
|