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 port8080with files from the./my-websitefolder in silent mode. The contents of the./my-websitefolder will be served athttp://localhost:8080. So, if you want to test the./my-website/dir/page.htmlpage, usefixture('...').page('http://localhost:8080/dir/page.html')in your fixture file."testcafe chrome ./test/acceptance/**"- runs TestCafe tests from the./test/acceptancedirectory in Chrome after the server starts
For more information on how to configure a test run using a testcafe command, see Command Line Interface.