Skip to content

Latest commit

 

History

History
112 lines (86 loc) · 7.71 KB

index.md

File metadata and controls

112 lines (86 loc) · 7.71 KB
title layout
(DB-driven browser automation)
default

{% include links %}

  • TOC {:toc}

Hands-on browser automation

SeLite makes Selenium better

SeLite automates browser navigation and testing. It extends Selenium. It

  • improves Selenium (API, syntax and visual interface),
  • enables reuse,
  • supports reporting and interaction,
  • facilitates team work.

SeLite enables DB-driven navigation with SQLite (the most widely deployed SQL database).

Benefits

SeLite enables the following in Selenium IDE

  • reusable, structured and expressive scripts
    • [SelBlocks Global] - flow structures, blocks of Selenese commands (functions) re-used across Selenese [cases][case]
    • EnhancedSelenese: enhanced syntax for shorter and cleaner scripts
    • Commands (e.g. random input generators)
  • DB-driven operations
  • configuration of scripts - see Settings
  • extra automation
    • [Exit Confirmation Checker] validates presence of confirmation when leaving unsubmitted forms
    • [Auto Check] detects webserver errors/warnings
    • Run All Favorites executes multiple Selenese [suites][suite]
  • productive environment
    • Hands-on GUI enhances Selenium IDE visual interface. It enables editing commands in-place (in the list itself). It makes Selenium IDE more intuitive.
    • Clipboard And Indent improves operation of clibpoard. It supports indentation of commands.
    • fast development cycle for custom Javascript functionality (via Bootstrap)
    • robust loading of extensions honouring dependancies (through [Extension Sequencer])
    • Preview presents custom reports and forms. User can preview and confirm next actions.
    • see also tips on Selenium IDE productivity.

Data separation (in testing)

Some application errors cause incorrect data that doesn't show up on the immediate screens (or not at all during the same session). Such defects present themselves only on subsequent screens or even much later (through their knock-on effect). Having a test DB (in SQLite) isolated from the application's DB facilitates early detection of those bugs.

Separation allows validation of the data as presented by the application anytime later, rather than just right after the data was updated. So in addition to checking the immediate pages within the same test run, this also checks the application continually, taking any previous operations into account (including previous sessions). If the application shared its database with the test, such defects would be difficult or even impossible to detect.

See illustrations at TestMethods and details at TestMethodsTheory.

Install

SeLite is easy to install, with no server side (apart from the controlled web application itself). You need Firefox and Components (Selenium IDE and components of SeLite family). You may want some AddOnsThirdParty.

See Compatibility regarding Opera and Chrome.

Frameworks

When using complex scripts you need a framework. Several come with SeLite and are listed at AppsFrameworks. Follow InstallFramework and any framework-specific steps. Read PackagedScripts on how to run demos. See also Customisation below.

Database

Scripts (whether for testing or not) can store their data in SQLite database. When used for testing, test DB is initialised to a copy (or an export) of the web application's DB.

  • If the web application stores its data in SQLite, test data lifecycle is streamlined. You can then use all buttons of SettingsInterface. They snapshot application DB (into 'vanilla' DB). They (re)load test DB and/or application DB from that snapshot.
  • Otherwise import the app DB (from Postgres, MySQL and potentially other types) via customisable filters. Apply DataImport.

Customisation

When customising or creating frameworks or components for Selenium IDE, following topics can assist you:

Project

Quality

Quality is ensured by

Compatibility

SeLite is compatible with Firefox 48 and Selenium IDE 2.9.1. It's platform-independent. (It doesn't support Flash/Silverlight/ActiveX.) Its part [SelBlocks Global] is mostly forward compatible with SelBlocks 2.0.1.

Currently it doesn't operate with browsers other than Firefox. However, in 2017 Firefox extensions will use the same API as Opera and Chrome.

SeLite is not for Selenium WebDriver. Effectiveness and convenience of Selenium IDE together with SeLite can, however, outweigh WebDriver. For detailed comparison see WhySeleniumIDE.

Subscribe to XML RSS feed on compatibility.

License

SeLite is fully open source. Most Components are under GNU LGPL 3.

Get more value

You could get more out of SeLite. However, it depends on third party components. To help it progress, please would you