Test Static HTML Pages
There are many ways to test your static HTML pages using TestCafe, but in this recipe we will focus on two simple methods that use a few other packages and can be easily integrated into your workflow.
- Install TestCafe and create tests
- Option 1 - Test webpages in the local file system
- Option 2 - Set up a local HTTP server
Install TestCafe and create tests
Install TestCafe locally in your project and create tests.
Option 1 - Test webpages in the local file system
Specify the target webpage using a relative path or the file://
URL scheme.
fixture `My fixture`
.page `file:///user/my-website/index.html`
fixture `My fixture`
.page `../my-website/index.html`
Add a command that runs tests to the package.json
file.
"scripts": {
"test": "testcafe chrome ./test/acceptance/**"
}
This script runs tests from the ./test/acceptance/
directory in Chrome.
Option 2 - Set up a local HTTP server
Install http-server that will be used as a local server.
Use the --app
TestCafe option to provide a command that starts the local server.
This command will be automatically executed before running tests. After tests are finished, TestCafe will stop the server.
Add the following code to package.json
.
"scripts": {
"test": "testcafe chrome ./test/acceptance/** --app \"http-server ./my-website -s\""
}
This script contains the following commands.
"http-server ./my-website -s"
- starts the local server at port8080
with files from the./my-website
folder in silent mode. The contents of the./my-website
folder will be served athttp://localhost:8080
. So, if you want to test the./my-website/dir/page.html
page, usefixture('...').page('http://localhost:8080/dir/page.html')
in your fixture file."testcafe chrome ./test/acceptance/**"
- runs TestCafe tests from the./test/acceptance
directory in Chrome after the server starts
For more information on how to configure a test run using a testcafe
command, see Command Line Interface.