Identifying Javascript implementation of Selenese commands

Do not search for implementation functions of Selenese action commands 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 ClassicSelenese > Auto-generated Selenese commands) 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.

Defining functions in Selenium Core

This is for files normally loaded into Core scope (via Bootstrap or Extension Sequencer, which use JavascriptComplex > mozIJSSubScriptLoader). (That’s not for JavascriptComplex > Javascript code modules.)

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 ExtensionSequencer > Core extensions loaded twice.

Special rules for custom Selenese commands

Names of action commands

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 ClassicSelenese > Auto-generated Selenese commands), but those wouldn’t exist.

Getter commands

Don’t define the second parameter (usually called value) for Selenese getter commands. See Documentation and handling of Selenium.prototype.getXYZ functions - Se IDE.