Technical Limitations
The Cycle Chrome Recorder is an extension that piggybacks onto the Recorder tool provided within the Google Chrome browser. The Recorder itself is built and maintained as part of Chrome. Cycle's extension simply provides the capability to translate its recordings into CycleScript feature files. As such, there are technical limitations to what the Cycle Chrome Recorder can do.
What can it do?
The Cycle Chrome Recorder successfully translates the majority of recorded content into CycleScript feature files. It can:
- Export a syntactically correct feature file.
- Translate the following Recorder steps into CycleScript:
Change
(forinput
andselect
elements)Click
Close
DoubleClick
KeyDown
/KeyUp
for keystrokes in sequenceHover
Navigate
Scroll
for scrolling to an elementSetViewport
WaitForElement
for visibility and attributes
- Handle timeouts:
- Append
within <number> ms
to the step when a timeout is given. - Use
Once
when a timeout is not given and the step requires waiting.
- Append
- Interpolate locator strings into the step.
- Recommend alternative locators for steps.
What can't it do?
There are edge cases that the Cycle Chrome Recorder cannot handle due to inherent limitations of the Recorder itself or lack of equivalent functionality in CycleScript steps. It cannot:
- Translate the following Recorder steps:
CustomStep
EmulateNetworkConditions
KeyDown
/KeyUp
for keystrokes out of sequenceScroll
for scrolling to an (x, y) positionWaitForExpression
- Provide good locators.
- Blue Yonder tends to use dynamically-generated IDs, which the Recorder tends to select.
- Capture more specific CycleScript steps (like tables, tabs, and scanning).
- Assert element counts.
- Assert element properties.
- Add steps to handle iframes.
- Generate calls to library utilities and other scenarios.
If you want your recorded feature file to handle any of these concerns, then you will need to edit the feature file by hand. Please follow the advice given for refining exported scenarios.
Recorder flakiness
The Recorder occasionally exhibits flaky functionality. There are times when it does not capture clicks. Keystrokes are sometimes repeated, missed, or recorded incorrectly. Changing screen size or tabs may also introduce erratic behavior.
Unfortunately, these are issues in the Chrome Recorder itself and not in Cycle's extension. They tend to happen when the browser has poor performance. If they happen to you, then please try to close extra tabs or even restart your browser. Please also report them to the Cycle Labs support team.