This project provides a test suite and and ad hoc specification for the captive portal login and payment processes. This test suite is implemented using JMeter as an HTTP client. It only does correctness testing; no performance testing is involved.
For a more lengthy description of the services that this test suite is
actually testing, see ./spec/SPEC.md
.
This test suite is intended to run on:
- developers' machines, for developers to test changes in their development environment
- a CI server, for testing of committed changes
- Android devices, for continuous on-site testing
- Bash shell
- Java
- JMeter 2.10+ (included in
./bin/
) - A WiFi-enabled device
Connect to the WiFi network you wish to test.
From this directory, run:
./run_test.bash <NASID> <captive_portal_domain> <mac_address> <payment_method>
where
NASID
is a filename from the./sites/
directory, stripped of its file extensioncaptive_portal_domain
is probably eitherstaging.wifiservice.net
or a live servermac_address
is your current MAC address. You should be able to spoof this address for easier repetitive testing.payment_method
is eitherfree
,card
,paypal
, orroaming
.
You will receive an XML report on stdout, with a summary at the end of this report.
FIXME: this is not implemented; it needs to spoof MAC addresses!
Run
./run_tests.bash <NASID> <captive_portal_domain>
This will run ./run_test.bash
for each payment method.
FIXME: this is not implemented; it needs to switch networks!
Run ./test.bash
in this directory.
This will run through each site, and for each, switch to the appropriate
network and then run ./run_tests.bash
for that site.
Do NOT set the HTTP implementation to HttpClient4; it is broken! All documentation refers to HttpClient3.1, with which it is NOT backwards- compatible. You'll have to trust me on this; you won't find this written anywhere.
You should just have to create a new file in ./sites/
, following the format
of the files currently present. Name the file with the NASID of the site. You
can then test this site by following the usage notes above.