-
Notifications
You must be signed in to change notification settings - Fork 166
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* initial structure, connection to instructional content add to index * first full draft * clean up text * update docs/en/observability/synthetics-recorder.asciidoc * address latest feedback * add heading ids * add beta note * add image (cherry picked from commit cdcffaf) Co-authored-by: Colleen McGinnis <[email protected]>
- Loading branch information
1 parent
89b7401
commit 1b6ab7c
Showing
5 changed files
with
156 additions
and
0 deletions.
There are no files selected for viewing
Binary file added
BIN
+765 KB
docs/en/observability/images/synthetics-create-test-script-recorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
[[synthetics-recorder]] | ||
= Synthetics Recorder | ||
|
||
beta[] | ||
|
||
You can use the Synthetics Recorder to <<synthetics-create-test, write a synthetic test>> by interacting with a web page and exporting journey code that reflects all the actions you took. | ||
|
||
image::images/synthetics-create-test-script-recorder.png[Elastic Synthetics Recorder after recording a journey and clicking Export] | ||
|
||
[discrete] | ||
[[synthetics-recorder-set-up]] | ||
== Set up | ||
|
||
Download and install the Elastic Synthetics Recorder from the https://github.com/elastic/synthetics-recorder/releases[GitHub repository's release page]. | ||
|
||
[discrete] | ||
[[synthetics-recorder-record-a-journey]] | ||
== Record a journey | ||
|
||
To record a journey: | ||
|
||
. Enter a starting URL in the search box. This URL will be the starting point of the journey script the recorder will create. | ||
. Click **Start** or press Enter on your keyboard. This will launch a Chromium window open to the page you specified and start recording. | ||
. Start interacting with the browser. This can include clicking on text, navigation, focusing on inputs like buttons and text fields, and more. | ||
. (Optional) You can click **Pause** to temporarily stop recording actions while you continue to interact with the browser. Click again to start recording actions again. Note: It's especially important to <<synthetics-recorder-test-the-journey, test the journey>> if you paused recording at any point. | ||
. When you're done interacting with the browser window, click **Stop** or close the browser to stop recording. | ||
|
||
[discrete] | ||
[[synthetics-recorder-edit-a-journey]] | ||
== Edit a journey | ||
|
||
Once you've started recording, you can use the Synthetics Recorder UI to edit steps and individual actions before generating the journey code. | ||
You can also edit the journey after you've stopped recording. | ||
|
||
[discrete] | ||
[[synthetics-recorder-name-steps]] | ||
=== Name steps | ||
|
||
Naming steps can help make the resulting journey code easier to understand. | ||
If you provide a step name, the name will be used in both the UI and the resulting code. | ||
If you don't name steps, the UI will show "Step 1", "Step 2", and so on, and the resulting code will use the first action in the step as the step text. | ||
|
||
To edit a step name: | ||
|
||
. Hover over the current step name and click the pencil icon that appears. | ||
. Edit the text in the text box. | ||
. Click Return or Enter on your keyboard to save the updated name. | ||
|
||
[discrete] | ||
[[synthetics-recorder-split-into-multiple-steps]] | ||
=== Split into multiple steps | ||
|
||
Steps represent groups of actions that should be completed in a specific order. | ||
Breaking a journey into steps can make it easier to read the resulting code. | ||
It can also make it easier to interpret results in the {uptime-app} since each step is | ||
displayed individually in the {uptime-app} along with screenshots for convenient debugging and error tracking. | ||
|
||
By default, the Synthetics Recorder will group all actions in a single step, | ||
but you can break actions into any number of steps. | ||
|
||
To add a step: | ||
|
||
. Click the plus icon between two actions to create a new step. | ||
. (Optional) Consider naming the step. | ||
|
||
Use the trash can icon to delete the step divider, adding the actions from the deleted step into the previous step. | ||
|
||
[discrete] | ||
[[synthetics-recorder-edit-or-delete-recorded-actions]] | ||
=== Edit or delete recorded actions | ||
|
||
You can fine-tune a journey by editing actions that were generated by the recorder. | ||
You can't change the type of command (for example, "click" or "navigate"), but you can change the value that is passed to the command. | ||
|
||
To edit an action: | ||
|
||
. Hover over an action and click the pencil icon that appears. | ||
. Edit the value as needed. | ||
. Click **Save**. | ||
|
||
To delete an action: | ||
|
||
. Hover over the action you want to delete and click the three dots for more options. | ||
. Click **Delete action**. | ||
|
||
IMPORTANT: If you changed or deleted any actions to ensure the journey still works, it's especially important to <<synthetics-recorder-test-the-journey, test the journey>>. | ||
|
||
[discrete] | ||
[[synthetics-recorder-add-assertions]] | ||
=== Add assertions | ||
|
||
Assertions can play an important role in effective synthetic journeys by making determinations about the state of the page you are testing. | ||
This can include checking if an element is visible or checking the contents of a text field. | ||
You can't generate an assertion just from interacting with the browser window. | ||
Instead, you can add assertions between generated actions. | ||
|
||
To add an assertion: | ||
|
||
. Find the generated action that should be done right before you want to assert a condition. | ||
. Hover over that action and click the three dots for more options. | ||
. Click **Add assertion**. This will add a new "assert" action in the UI. | ||
. Provide the type of assertion, selector, and value. | ||
. Click **Save**. | ||
|
||
IMPORTANT: If you added any assertions after you've finished recording to ensure the journey still works, it's especially important to <<synthetics-recorder-test-the-journey, test the journey>>. | ||
|
||
[discrete] | ||
[[synthetics-recorder-test-the-journey]] | ||
== Test the journey | ||
|
||
At any point during or after the recording process concludes, you can test your script. | ||
|
||
When you click the **Test** button, Elastic Synthetics will run the journey. | ||
As the test runs, the recorder will display results on a per-step basis. | ||
If there are any errors that prevent the journey from running, the recorder will display the relevant error message to help you debug. | ||
|
||
IMPORTANT: If you paused recording, updated actions, or added assertions manually in the recorder it is especially important that you test the journey to verify that the actions work in sequence. | ||
|
||
[discrete] | ||
[[synthetics-recorder-export]] | ||
== Export | ||
|
||
When you are satisfied with journey you've created, you can export it from the recorder. | ||
|
||
Click **Export** to view the final journey code. | ||
From there you can use the code by: | ||
|
||
* Copy and pasting code containing all steps into a new or existing <<synthetic-monitor-choose-project, synthetics project>> or an <<synthetics-inline-journey, inline monitor>>. | ||
* Click **Export** to save a JavaScript file containing all steps. | ||
|
||
You can also check **Export as project** and either copy and paste or **Export** | ||
to get the full journey code including `journey` and imports for all dependencies. | ||
|
||
[discrete] | ||
[[synthetics-recorder-next-steps]] | ||
== Next steps | ||
|
||
After you've refined your journey and exported it, use it to <<synthetics-manage-monitors, create a monitor>>. |