Getting Started
Prerequisites:
- You have installed GuideFrame as per the instructions in the installation section of these docs.
- You have cloned or forked the GuideFrame template repository located here.
GuideFrame Script
The GuideFrame Script Example script serves as a template to get you started. It uses the magento test website as an example but the same functions can be used to interact with hrefs and elements from any website.
Each guide_step()
function takes a step_number
(corresponding to the step in the accompanying markdown), function(s) called with lambda
and an order
argument. To illustrate this further, lets use an example from the demo.
'''
Step 8 - Hover over the "Yoga Straps" product
'''
guide_step(
8,
lambda: hover_over_element(driver, "https://magento.softwaretestingboard.com/set-of-sprite-yoga-straps.html")
order="action-before-vo"
)
Within the above example, ‘8’ is passed as the step argument. This always corresponds to the step within the matching markdown file. This text is in turn passed to the audio logic to create the voiceover and match it to the appropriate video step.
lambda
allows you to pass a function from the selenium-sdk. A wide range of functions are available within this SDK and are detailed here.
Finally, each guide_step
features a default argument for order
. The default is “action-after-vo” but in the above example we’ve used the other option to place our voiceover after the interaction. This allows you to experiment with the video’s pacing as you see fit.
GuideFrame Markdown
The GuideFrame Markdown Example should serve to highlight the simplicity of this portion of GuideFrame. A user need only create a ## Step n
heading and place the text for that step underneath. If this format is adhered to, it will be detected appropriately by GuideFrame and used to create the voiceover.
GuideFrame Workflow
The GuideFrame Workflow Example is triggered on push events and works to run the GuideFrame script on a GitHub runner before uploading the result as an artefact. The logic of the workflow should be apparent. It once again serves as a simple starting point but it is advised to avoid manipulating the Run Main Script With Display started
job in order to avoid compromising the render.