Plugins can extend each other. It is possible to change existing framework behavior by adding new plugins.
For plugin management we use Apache Maven, which offers flexible projects structure and plugin delivering capabilities. Plugins are written in Java and each plugin is a separate maven module. For plugin management and delivery we use Sonatype Nexus which is industry standard for managing modules in Java. Both Maven and Nexus are open source platforms.
Records tests video. With video it’s easier to fix bugs for programmers.
Saves screenshots and snapshots (html source).
Works with upload forms and helps to check downloaded files.
Allows work with many browser windows for specific tests.
Manages WebDriver lifecycle, basis of UI-tests running.
Allows to put common test fragments into sections which are executed before and after each test.
Combines test fragments into reusable pieces. Supports inheritance and input parameters.
Allows to finish manually test with fail result if some business logic conditions are not correct, displays result in reports.
Allows operations with groups of elements (lists, tables, dropdown elements, menus, content blocks) on web-page.
<navigate> tag opens specified url in web-browser.
<button> tag performs clicks on buttons.
<field> tag writes specified text to text field.
<pause> tag delays for specified time.
Sets delay for waiting while html elements are loaded
<radio> tag helps to work with radiobuttons
<script> tag allows to embed javascript code in tests
<variable> tag allows to define constants in test code
<checkbox> tag allows work with checkboxes
<combobox> tag allows work with comboboxes
<test> and <testcase> tags are basis for tests creating
<assert> tag allows to check different conditions
<import> tag allows including files with common test code, helps to avoid copy-pasting and core reusing
<dialog> tag allows to work with system browser alerts and dialogs (press button, enter texts, close)
<property> allows to work with .property text-files, which contain constants with locators, locale-dependent words, etc.
<bdd> is a label for behavior reports
<echo> tag writes specified text in test log file
marks html elements which test currently works with
Collect information about JVM parameters, used plugins, etc.