layout |
---|
default |
{% include links %}
- TOC {:toc}
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 isXyzPresent
- as per table at {{navAutoGeneratedSeleneseCommands}}) are defined in Javascript functions whose names start with do
. E.g. command xyz
is implemented in function doXyz
.
For locating the source code of those Javascript functions see JavascriptSpecial > Locating a Javascript function in sources.
This is for files normally loaded into [Core scope] (via Bootstrap or [Extension Sequencer], which use JavascriptComplex > mozIJSSubScriptLoader). (That's not for {{navJavascriptCodeModules}}.)
You can define functions for [Core scope] in either way mentioned at JavascriptEssential > Defining Javascript functions. However, if you use the classic way, do that only in strict
mode. Otherwise the function will be in the Selenium global scope (i.e. outside of [Core scope]) - then you need to see {{navCoreExtensionsLoadedTwice}}.
Primary Selenese action commands are implemented by Javascript functions whose names start with do
. (E.g. action abcDef
is implemented by function doAbcDef
.) Don't have primary Selenese action names themselves in form getXyz, isXyz
or isXyzPresent
(i.e. implemented by functions doGetXyz, doIsXyz
or doIsXyzPresent
, respectively), unless you have a very good reason. Such names would imply that the command is a getter or checker rather than an action. They would suggest that there are other auto-generated Selenese commands for them (assertXyz
etc., as per {{navAutoGeneratedSeleneseCommands}}), but those wouldn't exist.
Don't define the second parameter (usually called value
) for Selenese getter commands. See Documentation and handling of Selenium.prototype.getXYZ functions - Se IDE.