Skip to content

Commit ba71a0a

Browse files
2 parents cda811b + 7e963fe commit ba71a0a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+147
-33
lines changed

AboutDocumentation.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Scope
79
We document only what is not self-explanatory. We describe the mainstream use cases, handled in the most common ways. For more information see [PackagedScripts](PackagedScripts) or the source code. Then you can experiment.

AddOnsThirdParty.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ layout: default
44
---
55
{% include links %}
66
{::options auto_id_stripping="true" /}
7+
* TOC
8+
{:toc}
79

810
# Add-ons for running and development of Selenese scripts
911
Following add-ons are for development of Selenese [scripts][script]. For the easiest download get all add-ons of [SeLite Third Party collection](https://addons.mozilla.org/en-GB/firefox/collections/peter-kehl/selite-third-party/).

AppsFrameworks.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
Below are some web applications or frameworks which can run with SQLite DB. That makes them SeLite ideal ideal for them, since they can fully benefit from {{navReloadingDatabases}}.
79

AutoCheck.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Automatic checks #
79
[AutoCheck](https://addons.mozilla.org/en-US/firefox/addon/selite-auto-check/versions/), one of SeLite [Components](Components), validates the current page after every successful Selenese [command]. (That is not necessarily on every page reload - e.g. it may skip pages that redirect.) You can use some standard checks (with optional configuration) or create custom ones.

Bootstrap.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (Automated reloading of custom Selenium Core)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Summary #
810
[SeLite Bootstrap](https://addons.mozilla.org/en-US/firefox/addon/SeLite-Bootstrap/versions/), one of SeLite [Components](Components), allows smoother development of Selenium [Core extensions][Core extension] (just in plain Javascript files, not packaged as `.xpi`). It reloads them automatically on change.

ClassicSelenese.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (syntax)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Summary and scope
810
These notes on Selenese syntax are on top of [Selenium documentation](http://docs.seleniumhq.org/docs/02_selenium_ide.jsp). See [EnhancedSelenese](EnhancedSelenese) on how SeLite improves it.

Components.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
---
2-
title: (Firefox extensions)
2+
title: (Install)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Quick download
810
<!-- [Install Collection](https://addons.mozilla.org/en-US/firefox/addon/install-collection/) doesn't seem to work in Firefox 46.0.1-->

ComponentsDependants.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (dependencies within SeLite)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
Following shows direct dependencies between Firefox [Components](Components) that form SeLite. You don't need to read this if you use all SeLite components.
810

CustomisingSelenese.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Identifying Javascript implementation of Selenese commands
79
Do not search for implementation functions of Selenese action [commands][command] case-sensitively. Actions (i.e. ones with primary forms that don't start with **`get`** neither with **`is`** and that are not like <code><strong>is</strong>Xyz<strong>Present</strong></code> - as per table at {{navAutoGeneratedSeleneseCommands}}) are defined in Javascript functions whose names start with **`do`**. E.g. command `xyz` is implemented in function <code><strong>do</strong>Xyz</code>.

DataImport.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Using DB filters #
79
Does your app use RDBMS other than SQLite and would you like your [scripts][script] to have a copy of it? Then you want to export the data from your [app DB] to SQLite. For that you need

DevelopmentTools.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
7+
58
This is on top of [AddOnsThirdParty](AddOnsThirdParty).
69

710
# Development and debugging #

DocumentationStandard.md

+21-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Format
79
Having documentation in one large piece would make its structure too rigid. Maintenance and online navigation would be impractical. Instead, it's split into small pages. Therefore it doesn't exist in other formats. Offline viewing is easy in Firefox:
@@ -89,9 +91,27 @@ Ubuntu 16.04
8991
apt-get install ruby ruby-dev zlib1g-dev
9092
gem install github-pages
9193
94+
npm config set proxy http://your-proxy:port
9295
npm i -g jsdoc
96+
vi /usr/local/bin/jsdoc
97+
# -> change 'node' to 'nodejs' on the first line, because Ubuntu uses nodejs instead of node
9398
9499
cd docs
95100
git checkout gh-pages
96-
jsdoc -r ../selite ../sel-blocks-global -d .
101+
echo nbproject >>.gitignore
102+
echo .gitignore >>.gitignore
103+
104+
git branch gh-pages
105+
git checkout gh-pages
106+
jsdoc -r ../SeLite ../SelBlocksGlobal -d .
107+
#jsdoc --readme ./path/to/README-for-docs.md -r ../selite ../sel-blocks-global -d .
108+
git add *
109+
git commit -a -m Autogenerated
110+
git push origin gh-pages
111+
112+
113+
114+
git checkout master
115+
git branch -D gh-pages
116+
git push origin :gh-pages
97117
-->

DotclearFramework.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (for Dotclear 2.6.3)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Install Dotclear 2.6.3 #
810
This is what worked on Fedora 20. The example [script] logs in as an admin and creates a user with random credentials. It logs in as that user and posts and validates random content.

DrupalFramework.md

+3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ title: (for Drupal 7)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

9+
# Overview
710
The example [script] logs in as an admin and creates a user with random credentials. It logs in as that user and posts and validates random content.
811

912
# Install Drupal 7 #

EnhancedSelenese.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (syntax)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Overview
810
When compared to [ClassicSelenese](ClassicSelenese), automation scripts with SeLite are shorter and clearer.

ExitConfirmationChecker.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Status #
79
This add-on is a work in progress. Currently it works only for Selenese commands `type` and `typeRandom`.

ExtensionSequencer.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Summary #
79
[SeLite Extension Sequencer](https://addons.mozilla.org/en-US/firefox/addon/selite-extension-sequencer/versions/), one of SeLite [Components](Components), allows [extensions of Selenium IDE][Extension of Selenium IDE] to declare dependencies. Then it ensures that they are loaded in a correct order.

ExtraCommands.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

8+
# Overview
69
[SeLite Commands](https://addons.mozilla.org/en-US/firefox/addon/selite-commands/), one of SeLite [Components](Components), provides several Selenese commands and related functionality.
710

811
# Robust commands #

FUDforumFramework.md

+3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ title: (for FUDforum 3)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

9+
# Overview
710
The example script logs in as an admin and creates a user with random credentials. It logs in as that user and posts and validates random content.
811

912
# Install FUDforum 3 #

GeneralFramework.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# What an SeLite framework is
79
An SeLite framework is on optional layer, that encapsulates low-level application-specific components. Those are mostly Javascript structures and Selenese functions.

HandlingData.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Summary #
79
This explains how a web app and Selenese [scripts][script] can operate with separate databases ([TestMethodsTheory](TestMethodsTheory) > [Web app and its test have separate DBs](TestMethodsTheory#web-app-and-its-test-have-separate-dbs)).

InstallFramework.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Scope and downloads #
79
This assumes that you've set up your web application and that there is an SeLite framework for it. You'll need packages mentioned at [Overview](./) > [Install](./#install). However, if you haven't downloaded SeLite [Components](Components) yet, getting them from source (which you'll need anyway) may be faster.

InstallFromSource.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
layout: default
33
---
4+
* TOC
5+
{:toc}
46

57
# Get the source #
68
You need SeLite source to get [AppsFrameworks](AppsFrameworks) and [PackagedScripts](PackagedScripts). You also need it to install development versions of [Components](Components). Check the source out with a [GIT client](http://git-scm.com/downloads) (which makes receiving updates or managing local modifications easier). Alternatively, download [SeLite as a ZIP](https://github.com/SeLite/SeLite/archive/master.zip) and [SeLite SelBlocks Global as a ZIP](https://github.com/SeLite/SelBlocksGlobal/archive/master.zip).

JavascriptComplex.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Optional parameters of functions #
79
Javascript doesn't allow a function to specify a default value for a parameter. When calling a function and not specifying one or several parameters, they are `undefined`. Use strict comparison operator === to compare with `undefined`. Do not compare for that by non-strict operator == (since `undefined` non-strictly equals to `false, null, 0` and "", i.e. `undefined==true`).

JavascriptEssential.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# General notes #
79
* Design and code for clarity, simplicity and robustness (but within reason). Don't optimise minor parts or if optimisation adds much complexity.

JavascriptSpecial.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
layout: default
33
---
4+
* TOC
5+
{:toc}
46

57
# Locating a Javascript function in sources #
68
There are various ways of how to define/set/override a function in Javascript (usually through setting it as if it were a field on the class prototype object). So if you need to debug/modify/extend a function, it may not be easy to locate. You can use the following regular expressions to find definition(s) of a function (if implemented in one of the common ways). Replace `FUNCTION` with the name of the function.

PackagedScripts.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Packaged scripts
79
Packaged scripts are Selenese [scripts][script] together with any [Settings](Settings) and optional local `.html` forms/pages. They usually also use a framework.

Preview.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Overview
79
Preview presents custom HTML reports or forms. It allows Selenese scripts to interact with the user. It can collect confirmation, selection or data entry. When the user operates Preview, it can trigger Selenese commands. That subsequent processing executes like classic Selenese run. The user can pause, stop or debug it.

ReportingIssues.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Support scope #
79
SeLite doesn't support functionality of related components and technologies (Selenium IDE, SelBlocks, SQLite, Firefox, Selenium selectors, XPath, Javascript...). See also [AboutDocumentation](AboutDocumentation) > [Documentation scope](AboutDocumentation#documentation-scope).

SQLiteImport.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
layout: default
33
---
4+
* TOC
5+
{:toc}
46

57
## Overview ##
68
This converts a backup of your database to SQLite. It does not (and it will not) connect to your DB. For now

SQLiteSpecifics.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Operator LIKE and case sensitivity #
79
In SQLite, operator LIKE matches case-insensitively. By default that applies to ASCII characters only; see below for more details on Unicode.

SelBlocksGlobal.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Overview #
79
SelBlocks Global (one of SeLite [Components](Components)) is an enhancement of [SelBlocks](https://github.com/refactoror/SelBlocks/). It enables

SeleniumIDE.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: (GUI notes/tips)
33
layout: default
44
---
55
{% include links %}
6+
* TOC
7+
{:toc}
68

79
# Summary and scope
810
These notes are about usability of [Selenium IDE](http://seleniumhq.org/projects/ide) GUI. See [ClassicSelenese](ClassicSelenese) and [EnhancedSelenese](EnhancedSelenese) regarding Selenese syntax. If you develop [scripts][script], frameworks or plugins, see also [DevelopmentTools](DevelopmentTools).

SerendipityFramework.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
The example [script] logs in as an admin and creates a user with random credentials and settings. It logs in as that user and posts and validates random content. It stores user settings preferences (e.g. preference for WYSIWYG) in the [script DB]. It validates that the application honours those settings.
79

Settings.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Summary #
79
[SeLite Settings](https://addons.mozilla.org/en-US/firefox/addon/selite-settings/versions/) allows easy custom configurations of Selenese scripts and [Core extensions][core extension]. See also [Components](Components).

SettingsAPI.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# SeLite Settings API #
79
Operate SeLite Settings-managed configurations through API. See [its source](https://github.com/SeLite/SeLite/tree/master/settings/src/chrome/content/SeLiteSettings.js). In [Core extensions][core extension] access it through object `SeLiteSettings`. In other scopes, e.g. Selenium [IDE extensions][ide extension] or code modules (as per {{navJavascriptCodeModules}}), call

SettingsFields.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Summary #
79
Fields can be

SettingsInterface.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Accessing the interface of SeLiteSettings #
79
Two most frequent use cases are available in Selenium IDE menu > Options. They link to `tree.xul` and `tree.xul?selectFolder` (see below). Changes are immediate: if you change a field's value, or delete a set, it's saved right then.

SettingsLogins.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Summary #
79
It's a bad practice to hard-code [script] logins in your [scripts][script] or components. SeLite helps you to make it flexible, but it can't do all the work for you.

SettingsManifests.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
layout: default
33
---
44
{% include links %}
5+
* TOC
6+
{:toc}
57

68
# Purpose of manifests #
79
Manifests connect [suites][suite] to configuration sets, or they define configuration values. They let you define

0 commit comments

Comments
 (0)