diff --git a/docs/README.md b/docs/README.md index db9286949b..7d3ee587fd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ * [Guides](articles/documentation/guides/README.md) * Basic Guides * [Install TestCafe](articles/documentation/guides/basic-guides/install-testcafe.md) - * [Test Organization](articles/documentation/guides/basic-guides/test-organization.md) + * [Organize Tests](articles/documentation/guides/basic-guides/organize-tests.md) * [Select Page Elements](articles/documentation/guides/basic-guides/select-page-elements.md) * [Interact with the Page](articles/documentation/guides/basic-guides/interact-with-the-page.md) * [Assert](articles/documentation/guides/basic-guides/assert.md) @@ -133,14 +133,14 @@ * [expect.lt](articles/documentation/reference/test-api/testcontroller/expect/lt.md) * [expect.lte](articles/documentation/reference/test-api/testcontroller/expect/lte.md) * [expect.match](articles/documentation/reference/test-api/testcontroller/expect/match.md) - * [expect.notcontains](articles/documentation/reference/test-api/testcontroller/expect/notcontains.md) - * [expect.noteql](articles/documentation/reference/test-api/testcontroller/expect/noteql.md) - * [expect.notmatch](articles/documentation/reference/test-api/testcontroller/expect/notmatch.md) - * [expect.notok](articles/documentation/reference/test-api/testcontroller/expect/notok.md) - * [expect.nottypeof](articles/documentation/reference/test-api/testcontroller/expect/nottypeof.md) - * [expect.notwithin](articles/documentation/reference/test-api/testcontroller/expect/notwithin.md) + * [expect.notContains](articles/documentation/reference/test-api/testcontroller/expect/notcontains.md) + * [expect.notEql](articles/documentation/reference/test-api/testcontroller/expect/noteql.md) + * [expect.notMatch](articles/documentation/reference/test-api/testcontroller/expect/notmatch.md) + * [expect.notOk](articles/documentation/reference/test-api/testcontroller/expect/notok.md) + * [expect.notTypeOf](articles/documentation/reference/test-api/testcontroller/expect/nottypeof.md) + * [expect.notWithin](articles/documentation/reference/test-api/testcontroller/expect/notwithin.md) * [expect.ok](articles/documentation/reference/test-api/testcontroller/expect/ok.md) - * [expect.typeof](articles/documentation/reference/test-api/testcontroller/expect/typeof.md) + * [expect.typeOf](articles/documentation/reference/test-api/testcontroller/expect/typeof.md) * [expect.within](articles/documentation/reference/test-api/testcontroller/expect/within.md) * [fixtureCtx](articles/documentation/reference/test-api/testcontroller/fixturectx.md) * [getBrowserConsoleMessages](articles/documentation/reference/test-api/testcontroller/getbrowserconsolemessages.md) @@ -194,19 +194,22 @@ * [createLiveModeRunner](articles/documentation/reference/testcafe-api/testcafe/createlivemoderunner.md) * [createRunner](articles/documentation/reference/testcafe-api/testcafe/createrunner.md) * [Recipes](articles/documentation/recipes/README.md) - * [Access Environment Variables in Tests](articles/documentation/recipes/access-environment-variables-in-tests.md) - * [Create Data-Driven Tests](articles/documentation/recipes/create-data-driven-tests.md) - * [Debug Tests](articles/documentation/recipes/debug-tests/README.md) - * [Chrome Developer Tools](articles/documentation/recipes/debug-tests/chrome-dev-tools.md) - * [Visual Studio Code](articles/documentation/recipes/debug-tests/visual-studio-code.md) - * [WebStorm](articles/documentation/recipes/debug-tests/webstorm.md) - * [Create Helpers](articles/documentation/recipes/create-helpers.md) - * [Find Code Issues with Flow Type Checker](articles/documentation/recipes/find-code-issues-with-flow-type-checker.md) - * [Import Third-Party Modules](articles/documentation/recipes/import-third-party-modules.md) - * [Test <select> Elements](articles/documentation/recipes/test-select-elements.md) - * [Test Static HTML Pages](articles/documentation/recipes/test-static-html-pages.md) - * [Test on Remote Computers and Mobile Devices](articles/documentation/recipes/test-on-remote-computers-and-mobile-devices.md) - * [Use Angular CLI Builder](articles/documentation/recipes/use-angular-cli-builder.md) - * [Use Task Runners](articles/documentation/recipes/use-task-runners/README.md) - * [Grunt](articles/documentation/recipes/use-task-runners/grunt.md) - * [Gulp](articles/documentation/recipes/use-task-runners/gulp.md) + * Basics + * [Test \ Elements](articles/documentation/recipes/basics/test-select-elements.md) + * [Test Static HTML Pages](articles/documentation/recipes/basics/test-static-html-pages.md) + * [Test on Remote Computers and Mobile Devices](articles/documentation/recipes/basics/test-on-remote-computers-and-mobile-devices.md) + * Best Practices + * [Create Helpers](articles/documentation/recipes/best-practices/create-helpers.md) + * [Create Data-Driven Tests](articles/documentation/recipes/best-practices/create-data-driven-tests.md) + * Integrations + * [Import Third-Party Modules](articles/documentation/recipes/integrations/import-third-party-modules.md) + * [Angular CLI Builder](articles/documentation/recipes/integrations/use-angular-cli-builder.md) + * [Gulp](articles/documentation/recipes/integrations/gulp.md) + * [Grunt](articles/documentation/recipes/integrations/grunt.md) + * [Flow Type Checker](articles/documentation/recipes/integrations/find-code-issues-with-flow-type-checker.md) + * Configuration + * [Access Environment Variables in Tests](articles/documentation/recipes/configuration/access-environment-variables-in-tests.md) + * Debugging + * [Chrome Developer Tools](articles/documentation/recipes/debugging/chrome-dev-tools.md) + * [Visual Studio Code](articles/documentation/recipes/debugging/visual-studio-code.md) + * [WebStorm](articles/documentation/recipes/debugging/webstorm.md) diff --git a/docs/articles/documentation/getting-started/README.md b/docs/articles/documentation/getting-started/README.md index 8eb1b3beae..bd3aed7b30 100644 --- a/docs/articles/documentation/getting-started/README.md +++ b/docs/articles/documentation/getting-started/README.md @@ -42,21 +42,21 @@ Firstly, import the `testcafe` module. import { Selector } from 'testcafe'; ``` -Then declare a fixture using the [fixture](../guides/basic-guides/test-organization.md#fixtures) function. +Then declare a fixture using the [fixture](../guides/basic-guides/organize-tests.md#fixtures) function. ```js fixture `Getting Started` ``` In this tutorial, you create a test for the [http://devexpress.github.io/testcafe/example](/testcafe/example) sample page. -Specify this page as a start page for the fixture using the [page](../guides/basic-guides/test-organization.md#specify-the-start-webpage) function. +Specify this page as a start page for the fixture using the [page](../guides/basic-guides/organize-tests.md#specify-the-start-webpage) function. ```js fixture `Getting Started` .page `http://devexpress.github.io/testcafe/example`; ``` -Then, create the [test](../guides/basic-guides/test-organization.md#tests) function where you can enter test code. +Then, create the [test](../guides/basic-guides/organize-tests.md#tests) function where you can enter test code. ```js import { Selector } from 'testcafe'; diff --git a/docs/articles/documentation/guides/README.md b/docs/articles/documentation/guides/README.md index 6b1abb33ea..c9601e5840 100644 --- a/docs/articles/documentation/guides/README.md +++ b/docs/articles/documentation/guides/README.md @@ -8,7 +8,7 @@ permalink: /documentation/guides/ ## Basic Guides * [Install TestCafe](basic-guides/install-testcafe.md) -* [Test Organization](basic-guides/test-organization.md) +* [Organize Tests](basic-guides/organize-tests.md) * [Select Page Elements](basic-guides/select-page-elements.md) * [Interact with the Page](basic-guides/interact-with-the-page.md) * [Assert](basic-guides/assert.md) diff --git a/docs/articles/documentation/guides/advanced-guides/authentication.md b/docs/articles/documentation/guides/advanced-guides/authentication.md index 10185fc727..5c902a7ead 100644 --- a/docs/articles/documentation/guides/advanced-guides/authentication.md +++ b/docs/articles/documentation/guides/advanced-guides/authentication.md @@ -11,6 +11,13 @@ redirect_from: TestCafe includes a [user role](#user-roles) mechanism that allows you to emulate user actions to log in to a website. You can also use [HTTP Basic and NTLM](#http-authentication) authentication. +* [User Roles](#user-roles) + * [Why Use Roles](#why-use-roles) + * [Create and Apply Roles](#create-and-apply-roles) + * [Anonymous Role](#anonymous-role) +* [HTTP Authentication](#http-authentication) +* [Troubleshooting](#troubleshooting) + ## User Roles Many test scenarios involve activity from more than one user. TestCafe allows you to isolate test actions required to authenticate a user (e.g., enter credentials, click 'Sign in'). During the test, you can switch between user accounts with a single method call. @@ -19,10 +26,10 @@ A *role* contains code that logs in a particular user. You can define a role for ### Why Use Roles -Unlike other methods used to [extract reusable test logic](../../recipes/extract-reusable-test-code/README.md), roles are designed for login operations and provide the following dedicated features: +Unlike [page models](../concepts/page-model.md) or [helper functions](../../recipes/best-practices/create-helpers.md), roles are designed for login operations and provide the following dedicated features: * **Object-based API.** Authentication data and logic are stored in an object that is easy to pass and activate when needed. -* **Single login.** Login actions are not repeated when you switch to a previously used role within the same session. If you activate a role in the [beforeEach](../basic-guides/test-organization.md#test-hooks) hook, login actions run once before the first test. Subsequent tests reuse authentication data so that it happens instantly. +* **Single login.** Login actions are not repeated when you switch to a previously used role within the same session. If you activate a role in the [beforeEach](../basic-guides/organize-tests.md#test-hooks) hook, login actions run once before the first test. Subsequent tests reuse authentication data so that it happens instantly. * **Automatic return.** The browser automatically navigates back to the page where you switched roles. (You can disable this behavior if required.) * **No logout needed.** Authentication data is automatically cleared when you switch between roles. * **Multiple authentication support.** If you log in to different services/websites during a test, authentication data from cookie and browser storage accumulates in the active role. When you switch back to this role within the same test, you are automatically logged in to all websites. diff --git a/docs/articles/documentation/guides/advanced-guides/detect-the-client-browser-and-platform.md b/docs/articles/documentation/guides/advanced-guides/detect-the-client-browser-and-platform.md index c8460d607e..9dcf81885b 100644 --- a/docs/articles/documentation/guides/advanced-guides/detect-the-client-browser-and-platform.md +++ b/docs/articles/documentation/guides/advanced-guides/detect-the-client-browser-and-platform.md @@ -41,7 +41,7 @@ Property | Type | Description | Example ### Create a Browser-Specific Hook -The following example shows how to create a [beforeEach](../basic-guides/test-organization.md#test-hooks) hook that runs for particular [browser engines](../../reference/test-api/testcontroller/browser.md#engine) only: +The following example shows how to create a [beforeEach](../basic-guides/organize-tests.md#test-hooks) hook that runs for particular [browser engines](../../reference/test-api/testcontroller/browser.md#engine) only: ```js import { Selector } from 'testcafe'; diff --git a/docs/articles/documentation/guides/advanced-guides/intercept-http-requests.md b/docs/articles/documentation/guides/advanced-guides/intercept-http-requests.md index cf07723707..773fa66268 100644 --- a/docs/articles/documentation/guides/advanced-guides/intercept-http-requests.md +++ b/docs/articles/documentation/guides/advanced-guides/intercept-http-requests.md @@ -17,6 +17,11 @@ redirect_from: This section describes how to handle HTTP requests in your tests. TestCafe ships with request hooks that allow you to log the requests and mock the responses. You can also create a custom HTTP request hook, which enables you, for instance, to emulate authentications like **Kerberos** or **Client Certificate Authentication**. +* [Log HTTP Requests](#log-http-requests) +* [Mock HTTP Requests](#mock-http-requests) +* [Create a Custom Request Hook](#create-a-custom-request-hook) +* [Attach Hooks to Tests and Fixtures](#attach-hooks-to-tests-and-fixtures) + ## Log HTTP Requests You can use the [request logger](../../reference/test-api/requestlogger/README.md) to record HTTP requests the tested web app sends and responses it receives. For instance, you may want to make sure that the data from a remote service is correct. diff --git a/docs/articles/documentation/guides/basic-guides/assert.md b/docs/articles/documentation/guides/basic-guides/assert.md index 245b55720a..9766703163 100644 --- a/docs/articles/documentation/guides/basic-guides/assert.md +++ b/docs/articles/documentation/guides/basic-guides/assert.md @@ -16,6 +16,7 @@ This topic consists of the following sections: * [Assertion Structure](#assertion-structure) * [Smart Assertion Query Mechanism](#smart-assertion-query-mechanism) +* [Options](#options) ## Assertion Structure diff --git a/docs/articles/documentation/guides/basic-guides/interact-with-the-page.md b/docs/articles/documentation/guides/basic-guides/interact-with-the-page.md index 4e4f938c15..488c345522 100644 --- a/docs/articles/documentation/guides/basic-guides/interact-with-the-page.md +++ b/docs/articles/documentation/guides/basic-guides/interact-with-the-page.md @@ -19,6 +19,20 @@ redirect_from: Test API provides a set of **actions** you can use to interact with the page. +* [Click](#click) +* [Press Key](#press-key) +* [Navigate](#navigate) +* [Type Text](#type-text) +* [Select Text](#select-text) +* [Hover](#hover) +* [Drag Elements](#drag-elements) +* [Upload Files](#upload-files) +* [Take Screenshot](#take-screenshot) +* [Work with iframes](#work-with-iframes) +* [Handle Native Dialogs](#handle-native-dialogs) +* [Resize Window](#resize-window) +* [Wait](#wait) + They are implemented as methods in the [test controller](../../reference/test-api/testcontroller/README.md) object. You can call them in a chained fashion. The available actions with reproducible usage examples and links to their descriptions are listed below. diff --git a/docs/articles/documentation/guides/basic-guides/obtain-client-side-info.md b/docs/articles/documentation/guides/basic-guides/obtain-client-side-info.md index db180de190..7adc1fc5d3 100644 --- a/docs/articles/documentation/guides/basic-guides/obtain-client-side-info.md +++ b/docs/articles/documentation/guides/basic-guides/obtain-client-side-info.md @@ -12,6 +12,17 @@ redirect_from: TestCafe allows you to create *client functions* that can return any serializable value from the client side, such as the current URL or custom data calculated by a client script. +* [Client Function Constructor](#client-function-constructor) +* [Run Asynchronous Client Code](#run-asynchronous-client-code) +* [Execute Client Functions](#execute-client-functions) +* [Overwrite Client Function Options](#overwrite-client-function-options) +* [One-Time Client Code Execution](#one-time-client-code-execution) +* [Import Functions to be Used as Client Function Dependencies](#import-functions-to-be-used-as-client-function-dependencies) +* [Call Client Functions from Node.js Callbacks](#call-client-functions-from-nodejs-callbacks) +* [Client Function Limitations](#client-function-limitations) +* [Access Console Messages](#access-console-messages) +* [Examples](#examples) + > Do not modify the tested webpage within client functions. > Use [test actions](interact-with-the-page.md) to interact with the page instead. @@ -59,7 +70,7 @@ test('My Test', async t => { }); ``` -## Overwrite Client Function Option +## Overwrite Client Function Options Overwrite client function options via the ClientFunction's [with](../../reference/test-api/clientfunction/with.md) method. diff --git a/docs/articles/documentation/guides/basic-guides/test-organization.md b/docs/articles/documentation/guides/basic-guides/organize-tests.md similarity index 98% rename from docs/articles/documentation/guides/basic-guides/test-organization.md rename to docs/articles/documentation/guides/basic-guides/organize-tests.md index 26c3f2c18a..9259230c14 100644 --- a/docs/articles/documentation/guides/basic-guides/test-organization.md +++ b/docs/articles/documentation/guides/basic-guides/organize-tests.md @@ -1,11 +1,11 @@ --- layout: docs -title: Test Organization -permalink: /documentation/guides/basic-guides/test-organization.html +title: Organize Tests +permalink: /documentation/guides/basic-guides/organize-tests.html redirect_from: - /documentation/test-api/test-code-structure.html --- -# Test Organization +# Organize Tests This topic describes how to organize test code, declare fixtures, tests, and hooks. diff --git a/docs/articles/documentation/guides/basic-guides/run-tests.md b/docs/articles/documentation/guides/basic-guides/run-tests.md index 61d51b60da..17a0003a07 100644 --- a/docs/articles/documentation/guides/basic-guides/run-tests.md +++ b/docs/articles/documentation/guides/basic-guides/run-tests.md @@ -29,6 +29,29 @@ testCafe.close(); TestCafe also allows you to create a [configuration file](../../reference/configuration-file.md) where you can define test run settings. You can then omit these settings in the command line or API to use values from the configuration file. +* [Specify Tests to Run](#specify-tests-to-run) + * [Run Tests From Multiple Sources](#run-tests-from-multiple-sources) + * [Use Glob Patterns](#use-glob-patterns) + * [Filter Tests and Fixtures by Name](#filter-tests-and-fixtures-by-name) + * [Filter Tests and Fixtures by Metadata](#filter-tests-and-fixtures-by-metadata) +* [Specify Target Browsers](#specify-target-browsers) + * [Use Multiple Browsers](#use-multiple-browsers) + * [Run Tests in All Installed Browsers](#run-tests-in-all-installed-browsers) + * [Test in Portable Browsers](#test-in-portable-browsers) + * [Use Headless Mode](#use-headless-mode) + * [Enable Mobile Device Emulation](#enable-mobile-device-emulation) + * [Test in Cloud Testing Services](#test-in-cloud-testing-services) + * [Test on Remote and Mobile Devices](#test-on-remote-and-mobile-devices) +* [Specify the Report Format](#specify-the-report-format) +* [Customize Screenshot and Video Settings](#customize-screenshot-and-video-settings) +* [Run Tests Concurrently](#run-tests-concurrently) +* [Stage the Tested App](#stage-the-tested-app) +* [Provide a Proxy URL](#provide-a-proxy-url) +* [Live Mode](#live-mode) + * [How Live Mode Works](#how-live-mode-works) + * [Console Shortcuts in Live Mode](#console-shortcuts-in-live-mode) +* [Quarantine Mode](#quarantine-mode) + ## Specify Tests to Run You should specify a path to a file or directory with tests you want to run in the [second command line argument](../../reference/command-line-interface.md#file-pathglob-pattern): @@ -479,7 +502,7 @@ testcafe -c 2 remote:4 tests/test.js If you test against multiple remote browsers, open and connect all instances of one browser before connecting the next browser. -## Deploy the Tested App +## Stage the Tested App TestCafe can execute a specified shell command before it starts tests. For instance, you can run a command that starts a local web server and deploys the tested app. TestCafe automatically terminates the process when tests are finished. @@ -598,7 +621,7 @@ You can use live mode with any browsers: local, remote, mobile or headless. > Important! Live mode is designed to work with tests locally. Do not use it in CI systems. -**Tip:** use the [only](test-organization.md#skip-tests) function to work with a single test. +**Tip:** use the [only](organize-tests.md#skip-tests) function to work with a single test. ### Console Shortcuts in Live Mode diff --git a/docs/articles/documentation/guides/basic-guides/select-page-elements.md b/docs/articles/documentation/guides/basic-guides/select-page-elements.md index 29bdfc5381..7e7d0b333d 100644 --- a/docs/articles/documentation/guides/basic-guides/select-page-elements.md +++ b/docs/articles/documentation/guides/basic-guides/select-page-elements.md @@ -65,6 +65,28 @@ const parent = Selector('#query-my-parent').parent(); You can use selectors to [inspect elements](#obtain-element-state), define [action targets](#define-action-targets), and [assertion actual values](#define-assertion-actual-value). +* [Create Selectors](#create-selectors) +* [Member Tables](#member-tables) +* [Use Selectors](#use-selectors) + * [Check if an Element Exists](#check-if-an-element-exists) + * [Obtain Element State](#obtain-element-state) + * [DOM Node Snapshot](#dom-node-snapshot) + * [Define Action Targets](#define-action-targets) + * [Define Assertion Actual Value](#define-assertion-actual-value) +* [Selector Timeout](#selector-timeout) +* [Debug Selectors](#debug-selectors) +* [Extend Selectors with Custom Properties and Methods](#extend-selectors-with-custom-properties-and-methods) +* [Overwrite Options](#overwrite-options) +* [Framework-Specific Selectors](#framework-specific-selectors) + * [React](#react) + * [Angular](#angular) + * [AngularJS](#angularjs) + * [Vue](#vue) + * [Aurelia](#aurelia) +* [Call Selectors from Node.js Callbacks](#call-selectors-from-nodejs-callbacks) +* [Limitations](#limitations) +* [Examples](#examples) + > Important! Do not modify the tested webpage within selectors. > To interact with the page, use [test actions](interact-with-the-page.md). @@ -135,7 +157,7 @@ const sel = Selector('div').child(); ``` -### Member Tables +## Member Tables The following methods filter elements from the selector: diff --git a/docs/articles/documentation/guides/concepts/browsers.md b/docs/articles/documentation/guides/concepts/browsers.md index d0af768c06..4107604fdc 100644 --- a/docs/articles/documentation/guides/concepts/browsers.md +++ b/docs/articles/documentation/guides/concepts/browsers.md @@ -16,8 +16,22 @@ redirect_from: This topic lists browsers supported by TestCafe and describes how to use various browser features. * [Browser Support](#browser-support) + * [Officially Supported Browsers](#officially-supported-browsers) + * [Locally Installed Browsers](#locally-installed-browsers) + * [Portable Browsers](#portable-browsers) + * [Browsers on Remote Devices](#browsers-on-remote-devices) + * [Browsers in Cloud Testing Services](#browsers-in-cloud-testing-services) + * [Microsoft Edge Legacy Support](#microsoft-edge-legacy-support) + * [Nonconventional Browsers](#nonconventional-browsers) * [Test in Headless Mode](#test-in-headless-mode) + * [Automation Port](#automation-port) * [Use Chromium Device Emulation](#use-chromium-device-emulation) + * [Emulate a Device](#emulate-a-device) + * [Emulate Screen Size](#emulate-screen-size) + * [Use Emulation in Headless Mode](#use-emulation-in-headless-mode) + * [Use Emulation in Chrome Portable](#use-emulation-in-chrome-portable) + * [Substitute a User Agent](#substitute-a-user-agent) + * [Emulator Parameters](#emulator-parameters) * [User Profiles](#user-profiles) ## Browser Support diff --git a/docs/articles/documentation/recipes/README.md b/docs/articles/documentation/recipes/README.md index b5fd93ac1c..8d27b5c10a 100644 --- a/docs/articles/documentation/recipes/README.md +++ b/docs/articles/documentation/recipes/README.md @@ -9,33 +9,31 @@ redirect_from: This section provides examples and recipes of how to use TestCafe in different scenarios. -**Basic** +**Basics** -* [Test \ Elements](test-select-elements.md) -* [Test Static HTML Pages](test-static-html-pages.md) -* [Test on Remote Computers and Mobile Devices](test-on-remote-computers-and-mobile-devices.md) +* [Test \ Elements](basics/test-select-elements.md) +* [Test Static HTML Pages](basics/test-static-html-pages.md) +* [Test on Remote Computers and Mobile Devices](basics/test-on-remote-computers-and-mobile-devices.md) **Best Practices** -* [Helpers](create-helpers.md) -* [Data-Driven Tests](create-data-driven-tests.md) +* [Create Helpers](best-practices/create-helpers.md) +* [Create Data-Driven Tests](best-practices/create-data-driven-tests.md) -**Extending Capabilities** +**Integrations** -* [Import Third-Party Modules](import-third-party-modules.md) +* [Import Third-Party Modules](integrations/import-third-party-modules.md) +* [Angular CLI Builder](integrations/use-angular-cli-builder.md) +* [Gulp](integrations/gulp.md) +* [Grunt](integrations/grunt.md) +* [Flow Type Checker](integrations/find-code-issues-with-flow-type-checker.md) **Configuration** -* [Access Environment Variables in Tests](access-environment-variables-in-tests.md) +* [Access Environment Variables in Tests](configuration/access-environment-variables-in-tests.md) **Debugging** -* [Chrome Developer Tools](debug-tests/chrome-dev-tools.md) -* [Visual Studio Code](debug-tests/visual-studio-code.md) -* [WebStorm](debug-tests/webstorm.md) - -**Integrations** - -* [Angular CLI Builder](use-angular-cli-builder.md) -* [Task Runners](use-task-runners/README.md) -* [Flow Type Checker](find-code-issues-with-flow-type-checker.md) +* [Chrome Developer Tools](debugging/chrome-dev-tools.md) +* [Visual Studio Code](debugging/visual-studio-code.md) +* [WebStorm](debugging/webstorm.md) diff --git a/docs/articles/documentation/recipes/test-on-remote-computers-and-mobile-devices.md b/docs/articles/documentation/recipes/basics/test-on-remote-computers-and-mobile-devices.md similarity index 73% rename from docs/articles/documentation/recipes/test-on-remote-computers-and-mobile-devices.md rename to docs/articles/documentation/recipes/basics/test-on-remote-computers-and-mobile-devices.md index 068946cae3..fd9515f3fe 100644 --- a/docs/articles/documentation/recipes/test-on-remote-computers-and-mobile-devices.md +++ b/docs/articles/documentation/recipes/basics/test-on-remote-computers-and-mobile-devices.md @@ -1,22 +1,23 @@ --- layout: docs title: Test on Remote Computers and Mobile Devices -permalink: /documentation/recipes/test-on-remote-computers-and-mobile-devices.html +permalink: /documentation/recipes/basics/test-on-remote-computers-and-mobile-devices.html redirect_from: - /documentation/recipes/testing-on-remote-computers-and-mobile-devices.html + - /documentation/recipes/test-on-remote-computers-and-mobile-devices.html --- # Test on Remote Computers and Mobile Devices TestCafe allows you to run tests on any device that has network access to the machine where TestCafe is installed. This guide demonstrates how to test on a remote computer and a mobile device. -It assumes that TestCafe is already [installed](../guides/basic-guides/install-testcafe.md) -in your project and you have [created some tests](../getting-started/README.md#creating-a-test). +It assumes that TestCafe is already [installed](../../guides/basic-guides/install-testcafe.md) +in your project and you have [created some tests](../../getting-started/README.md#creating-a-test). ## Run Tests on a Remote Computer 1. Open the console and type a command to run tests. - Use [remote](../reference/command-line-interface.md#remote-browsers) as a browser alias + Use [remote](../../reference/command-line-interface.md#remote-browsers) as a browser alias to specify that tests should run on a remote machine. ```sh @@ -25,7 +26,7 @@ in your project and you have [created some tests](../getting-started/README.md#c 2. TestCafe prepares a URL for the remote browser to connect to the server. - ![URL for a remote device](../../images/recipe-remote-computer.png) + ![URL for a remote device](../../../images/recipe-remote-computer.png) 3. Go to a remote computer that has network access to the machine with TestCafe. Open the browser in which you want to test and navigate to the URL generated by TestCafe. @@ -33,7 +34,7 @@ in your project and you have [created some tests](../getting-started/README.md#c ## Run Tests on a Mobile Device -1. Open the console and type a command to run tests with [remote](../reference/command-line-interface.md#remote-browsers) as a browser alias. +1. Open the console and type a command to run tests with [remote](../../reference/command-line-interface.md#remote-browsers) as a browser alias. Add the `--qr-code` flag to generate a QR-code for the mobile device. ```sh @@ -42,7 +43,7 @@ in your project and you have [created some tests](../getting-started/README.md#c 2. TestCafe will output the QR-code to the console. - ![QR-code for a mobile device](../../images/recipe-remote-mobile.png) + ![QR-code for a mobile device](../../../images/recipe-remote-mobile.png) 3. Scan the QR-code with a mobile device that has network access to the TestCafe machine and open the link. TestCafe will start tests in the mobile browser. diff --git a/docs/articles/documentation/recipes/test-select-elements.md b/docs/articles/documentation/recipes/basics/test-select-elements.md similarity index 80% rename from docs/articles/documentation/recipes/test-select-elements.md rename to docs/articles/documentation/recipes/basics/test-select-elements.md index e1e13c04bd..018a51d54a 100644 --- a/docs/articles/documentation/recipes/test-select-elements.md +++ b/docs/articles/documentation/recipes/basics/test-select-elements.md @@ -1,9 +1,10 @@ --- layout: docs title: Test <select> Elements -permalink: /documentation/recipes/test-select-elements.html +permalink: /documentation/recipes/basics/test-select-elements.html redirect_from: - /documentation/recipes/testing-select-elements.html + - /documentation/recipes/test-select-elements.html --- # Test \ Elements @@ -58,7 +59,7 @@ test(`Select an option from the drop-down menu`, async t => { }); ``` -First, you need a [selector](../guides/basic-guides/select-page-elements.md) that picks the `` element. ```js const citySelect = Selector('#city'); @@ -71,14 +72,14 @@ await t.click(citySelect); ``` Next, write code that selects `London` from the drop-down list. To this end, introduce a selector that identifies options. -This selector uses the [find](../reference/test-api/selector/find.md) function to locate `