siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
1 lines • 368 kB
JavaScript
Ext.data.JsonP.Siesta_Test_Browser({"tagname":"class","name":"Siesta.Test.Browser","autodetected":{},"files":[{"filename":"Browser.js","href":"Browser2.html#Siesta-Test-Browser"}],"extends":"Siesta.Test","mixins":["Siesta.Test.Browser.Role.CanGetElementFromPoint","Siesta.Test.Element","Siesta.Test.TextSelection","Siesta.Test.UserAgent.Keyboard","Siesta.Test.UserAgent.Mouse","Siesta.Test.UserAgent.Touch"],"members":[{"name":"isReadyTimeout","tagname":"cfg","owner":"Siesta.Test","id":"cfg-isReadyTimeout","meta":{}},{"name":"moveCursorBetweenPoints","tagname":"cfg","owner":"Siesta.Test.UserAgent.Mouse","id":"cfg-moveCursorBetweenPoints","meta":{}},{"name":"waitForTimeout","tagname":"cfg","owner":"Siesta.Test.More","id":"cfg-waitForTimeout","meta":{}},{"name":"bowser","tagname":"property","owner":"Siesta.Test.Browser","id":"property-bowser","meta":{}},{"name":"url","tagname":"property","owner":"Siesta.Test","id":"property-url","meta":{}},{"name":"afterEach","tagname":"method","owner":"Siesta.Test.BDD","id":"method-afterEach","meta":{}},{"name":"any","tagname":"method","owner":"Siesta.Test.BDD","id":"method-any","meta":{}},{"name":"anyNumberApprox","tagname":"method","owner":"Siesta.Test.BDD","id":"method-anyNumberApprox","meta":{}},{"name":"anyStringLike","tagname":"method","owner":"Siesta.Test.BDD","id":"method-anyStringLike","meta":{}},{"name":"assertTextPresent","tagname":"method","owner":"Siesta.Test.Element","id":"method-assertTextPresent","meta":{}},{"name":"beforeEach","tagname":"method","owner":"Siesta.Test.BDD","id":"method-beforeEach","meta":{}},{"name":"beginAsync","tagname":"method","owner":"Siesta.Test","id":"method-beginAsync","meta":{}},{"name":"chain","tagname":"method","owner":"Siesta.Test.More","id":"method-chain","meta":{}},{"name":"chainForArray","tagname":"method","owner":"Siesta.Test.More","id":"method-chainForArray","meta":{}},{"name":"clearTimeout","tagname":"method","owner":"Siesta.Test.Browser","id":"method-clearTimeout","meta":{}},{"name":"click","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-click","meta":{}},{"name":"clickAll","tagname":"method","owner":"Siesta.Test.Element","id":"method-clickAll","meta":{}},{"name":"clickSelector","tagname":"method","owner":"Siesta.Test.Element","id":"method-clickSelector","meta":{}},{"name":"compareObjects","tagname":"method","owner":"Siesta.Util.Role.CanCompareObjects","id":"method-compareObjects","meta":{}},{"name":"contentLike","tagname":"method","owner":"Siesta.Test.Element","id":"method-contentLike","meta":{}},{"name":"contentNotLike","tagname":"method","owner":"Siesta.Test.Element","id":"method-contentNotLike","meta":{}},{"name":"createSpy","tagname":"method","owner":"Siesta.Test.BDD","id":"method-createSpy","meta":{}},{"name":"createSpyObj","tagname":"method","owner":"Siesta.Test.BDD","id":"method-createSpyObj","meta":{}},{"name":"ddescribe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-ddescribe","meta":{}},{"name":"describe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-describe","meta":{}},{"name":"diag","tagname":"method","owner":"Siesta.Test","id":"method-diag","meta":{}},{"name":"done","tagname":"method","owner":"Siesta.Test","id":"method-done","meta":{}},{"name":"doubleClick","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-doubleClick","meta":{}},{"name":"doubleTap","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-doubleTap","meta":{}},{"name":"dragBy","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-dragBy","meta":{}},{"name":"dragTo","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-dragTo","meta":{}},{"name":"earlySetup","tagname":"method","owner":"Siesta.Test","id":"method-earlySetup","meta":{}},{"name":"elementFromPoint","tagname":"method","owner":"Siesta.Test.Browser.Role.CanGetElementFromPoint","id":"method-elementFromPoint","meta":{}},{"name":"elementIsAt","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsAt","meta":{}},{"name":"elementIsEmpty","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsEmpty","meta":{}},{"name":"elementIsInView","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsInView","meta":{}},{"name":"elementIsNotEmpty","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsNotEmpty","meta":{}},{"name":"elementIsNotTopElement","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsNotTopElement","meta":{}},{"name":"elementIsNotVisible","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsNotVisible","meta":{}},{"name":"elementIsTop","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsTop","meta":{}},{"name":"elementIsTopElement","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsTopElement","meta":{}},{"name":"elementIsVisible","tagname":"method","owner":"Siesta.Test.Element","id":"method-elementIsVisible","meta":{}},{"name":"endAsync","tagname":"method","owner":"Siesta.Test","id":"method-endAsync","meta":{}},{"name":"exact","tagname":"method","owner":"Siesta.Test","id":"method-exact","meta":{}},{"name":"exit","tagname":"method","owner":"Siesta.Test","id":"method-exit","meta":{}},{"name":"expect","tagname":"method","owner":"Siesta.Test.BDD","id":"method-expect","meta":{}},{"name":"expectAlertMessage","tagname":"method","owner":"Siesta.Test.Browser","id":"method-expectAlertMessage","meta":{}},{"name":"expectGlobals","tagname":"method","owner":"Siesta.Test.More","id":"method-expectGlobals","meta":{}},{"name":"fail","tagname":"method","owner":"Siesta.Test","id":"method-fail","meta":{}},{"name":"findCenter","tagname":"method","owner":"Siesta.Test.Element","id":"method-findCenter","meta":{}},{"name":"getElementAtCursor","tagname":"method","owner":"Siesta.Test.Browser","id":"method-getElementAtCursor","meta":{}},{"name":"getSelectedText","tagname":"method","owner":"Siesta.Test.TextSelection","id":"method-getSelectedText","meta":{}},{"name":"getSubTest","tagname":"method","owner":"Siesta.Test","id":"method-getSubTest","meta":{}},{"name":"hasAttributeValue","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasAttributeValue","meta":{}},{"name":"hasCls","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasCls","meta":{}},{"name":"hasNotCls","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasNotCls","meta":{}},{"name":"hasNotStyle","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasNotStyle","meta":{}},{"name":"hasSameHeight","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasSameHeight","meta":{}},{"name":"hasSameWidth","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasSameWidth","meta":{}},{"name":"hasStyle","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasStyle","meta":{}},{"name":"hasValue","tagname":"method","owner":"Siesta.Test.Element","id":"method-hasValue","meta":{}},{"name":"iit","tagname":"method","owner":"Siesta.Test.BDD","id":"method-iit","meta":{}},{"name":"is","tagname":"method","owner":"Siesta.Test","id":"method-is","meta":{}},{"name":"isApprox","tagname":"method","owner":"Siesta.Test.More","id":"method-isApprox","meta":{}},{"name":"isArray","tagname":"method","owner":"Siesta.Test.More","id":"method-isArray","meta":{}},{"name":"isBoolean","tagname":"method","owner":"Siesta.Test.More","id":"method-isBoolean","meta":{}},{"name":"isCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalled","meta":{}},{"name":"isCalledNTimes","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalledNTimes","meta":{}},{"name":"isCalledOnce","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalledOnce","meta":{}},{"name":"isDate","tagname":"method","owner":"Siesta.Test.More","id":"method-isDate","meta":{}},{"name":"isDateEqual","tagname":"method","owner":"Siesta.Test.Date","id":"method-isDateEqual","meta":{}},{"name":"isDeeply","tagname":"method","owner":"Siesta.Test.More","id":"method-isDeeply","meta":{}},{"name":"isDeeplyStrict","tagname":"method","owner":"Siesta.Test.More","id":"method-isDeeplyStrict","meta":{}},{"name":"isElementVisible","tagname":"method","owner":"Siesta.Test.Element","id":"method-isElementVisible","meta":{}},{"name":"isFunction","tagname":"method","owner":"Siesta.Test.More","id":"method-isFunction","meta":{}},{"name":"isGreater","tagname":"method","owner":"Siesta.Test.More","id":"method-isGreater","meta":{}},{"name":"isGreaterOrEqual","tagname":"method","owner":"Siesta.Test.More","id":"method-isGreaterOrEqual","meta":{}},{"name":"isInView","tagname":"method","owner":"Siesta.Test.Element","id":"method-isInView","meta":{}},{"name":"isInstanceOf","tagname":"method","owner":"Siesta.Test.More","id":"method-isInstanceOf","meta":{}},{"name":"isLess","tagname":"method","owner":"Siesta.Test.More","id":"method-isLess","meta":{}},{"name":"isLessOrEqual","tagname":"method","owner":"Siesta.Test.More","id":"method-isLessOrEqual","meta":{}},{"name":"isNot","tagname":"method","owner":"Siesta.Test","id":"method-isNot","meta":{}},{"name":"isNotStrict","tagname":"method","owner":"Siesta.Test","id":"method-isNotStrict","meta":{}},{"name":"isNumber","tagname":"method","owner":"Siesta.Test.More","id":"method-isNumber","meta":{}},{"name":"isObject","tagname":"method","owner":"Siesta.Test.More","id":"method-isObject","meta":{}},{"name":"isReady","tagname":"method","owner":"Siesta.Test","id":"method-isReady","meta":{}},{"name":"isRegExp","tagname":"method","owner":"Siesta.Test.More","id":"method-isRegExp","meta":{}},{"name":"isStrict","tagname":"method","owner":"Siesta.Test","id":"method-isStrict","meta":{}},{"name":"isString","tagname":"method","owner":"Siesta.Test.More","id":"method-isString","meta":{}},{"name":"isntCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-isntCalled","meta":{}},{"name":"it","tagname":"method","owner":"Siesta.Test.BDD","id":"method-it","meta":{}},{"name":"keyPress","tagname":"method","owner":"Siesta.Test.UserAgent.Keyboard","id":"method-keyPress","meta":{}},{"name":"launchSubTest","tagname":"method","owner":"Siesta.Test","id":"method-launchSubTest","meta":{}},{"name":"like","tagname":"method","owner":"Siesta.Test.More","id":"method-like","meta":{}},{"name":"livesOk","tagname":"method","owner":"Siesta.Test.More","id":"method-livesOk","meta":{}},{"name":"livesOkAsync","tagname":"method","owner":"Siesta.Test.Browser","id":"method-livesOkAsync","meta":{}},{"name":"longPress","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-longPress","meta":{}},{"name":"methodIsCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsCalled","meta":{}},{"name":"methodIsCalledNTimes","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsCalledNTimes","meta":{}},{"name":"methodIsntCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsntCalled","meta":{}},{"name":"monkeyTest","tagname":"method","owner":"Siesta.Test.Element","id":"method-monkeyTest","meta":{}},{"name":"mouseDown","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-mouseDown","meta":{}},{"name":"mouseUp","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-mouseUp","meta":{}},{"name":"moveCursorAlongPath","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-moveCursorAlongPath","meta":{}},{"name":"moveCursorBy","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-moveCursorBy","meta":{}},{"name":"moveCursorTo","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-moveCursorTo","meta":{}},{"name":"moveMouseBy","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-moveMouseBy","meta":{}},{"name":"moveMouseTo","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-moveMouseTo","meta":{}},{"name":"movePointerBy","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-movePointerBy","meta":{}},{"name":"movePointerTo","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-movePointerTo","meta":{}},{"name":"notOk","tagname":"method","owner":"Siesta.Test","id":"method-notOk","meta":{}},{"name":"ok","tagname":"method","owner":"Siesta.Test","id":"method-ok","meta":{}},{"name":"pass","tagname":"method","owner":"Siesta.Test","id":"method-pass","meta":{}},{"name":"pinch","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-pinch","meta":{}},{"name":"query","tagname":"method","owner":"Siesta.Test.Browser","id":"method-query","meta":{}},{"name":"rightClick","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-rightClick","meta":{}},{"name":"scrollHorizontallyTo","tagname":"method","owner":"Siesta.Test.Element","id":"method-scrollHorizontallyTo","meta":{}},{"name":"scrollTo","tagname":"method","owner":"Siesta.Test.Element","id":"method-scrollTo","meta":{}},{"name":"scrollVerticallyTo","tagname":"method","owner":"Siesta.Test.Element","id":"method-scrollVerticallyTo","meta":{}},{"name":"selectText","tagname":"method","owner":"Siesta.Test.TextSelection","id":"method-selectText","meta":{}},{"name":"selectorCountIs","tagname":"method","owner":"Siesta.Test.Element","id":"method-selectorCountIs","meta":{}},{"name":"selectorExists","tagname":"method","owner":"Siesta.Test.Element","id":"method-selectorExists","meta":{}},{"name":"selectorIsAt","tagname":"method","owner":"Siesta.Test.Element","id":"method-selectorIsAt","meta":{}},{"name":"selectorNotExists","tagname":"method","owner":"Siesta.Test.Element","id":"method-selectorNotExists","meta":{}},{"name":"setHash","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setHash","meta":{}},{"name":"setNextConfirmReturnValue","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setNextConfirmReturnValue","meta":{}},{"name":"setNextPromptReturnValue","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setNextPromptReturnValue","meta":{}},{"name":"setTimeout","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setTimeout","meta":{}},{"name":"setUrl","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setUrl","meta":{}},{"name":"setWindowSize","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setWindowSize","meta":{}},{"name":"setup","tagname":"method","owner":"Siesta.Test","id":"method-setup","meta":{}},{"name":"simulateActivateWindow","tagname":"method","owner":"Siesta.Test.Browser","id":"method-simulateActivateWindow","meta":{}},{"name":"simulateDeactivateWindow","tagname":"method","owner":"Siesta.Test.Browser","id":"method-simulateDeactivateWindow","meta":{}},{"name":"snooze","tagname":"method","owner":"Siesta.Test","id":"method-snooze","meta":{}},{"name":"spyOn","tagname":"method","owner":"Siesta.Test.BDD","id":"method-spyOn","meta":{}},{"name":"subTest","tagname":"method","owner":"Siesta.Test","id":"method-subTest","meta":{}},{"name":"swipe","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-swipe","meta":{}},{"name":"switchTo","tagname":"method","owner":"Siesta.Test.Browser","id":"method-switchTo","meta":{}},{"name":"switchToMain","tagname":"method","owner":"Siesta.Test.Browser","id":"method-switchToMain","meta":{}},{"name":"tap","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-tap","meta":{}},{"name":"tearDown","tagname":"method","owner":"Siesta.Test","id":"method-tearDown","meta":{}},{"name":"throwsOk","tagname":"method","owner":"Siesta.Test.More","id":"method-throwsOk","meta":{}},{"name":"throwsOkAsync","tagname":"method","owner":"Siesta.Test.Browser","id":"method-throwsOkAsync","meta":{}},{"name":"todo","tagname":"method","owner":"Siesta.Test","id":"method-todo","meta":{}},{"name":"touchDragBy","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-touchDragBy","meta":{}},{"name":"touchDragTo","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-touchDragTo","meta":{}},{"name":"touchEnd","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-touchEnd","meta":{}},{"name":"touchStart","tagname":"method","owner":"Siesta.Test.UserAgent.Touch","id":"method-touchStart","meta":{}},{"name":"type","tagname":"method","owner":"Siesta.Test.UserAgent.Keyboard","id":"method-type","meta":{}},{"name":"unlike","tagname":"method","owner":"Siesta.Test.More","id":"method-unlike","meta":{}},{"name":"verifyGlobals","tagname":"method","owner":"Siesta.Test.More","id":"method-verifyGlobals","meta":{}},{"name":"waitFor","tagname":"method","owner":"Siesta.Test.More","id":"method-waitFor","meta":{}},{"name":"waitForContentLike","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForContentLike","meta":{}},{"name":"waitForContentNotLike","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForContentNotLike","meta":{}},{"name":"waitForElementEmpty","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementEmpty","meta":{}},{"name":"waitForElementNotEmpty","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementNotEmpty","meta":{}},{"name":"waitForElementNotTop","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementNotTop","meta":{}},{"name":"waitForElementNotVisible","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementNotVisible","meta":{}},{"name":"waitForElementTop","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementTop","meta":{}},{"name":"waitForElementVisible","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForElementVisible","meta":{}},{"name":"waitForFn","tagname":"method","owner":"Siesta.Test.More","id":"method-waitForFn","meta":{}},{"name":"waitForMs","tagname":"method","owner":"Siesta.Test.More","id":"method-waitForMs","meta":{}},{"name":"waitForPageLoad","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForPageLoad","meta":{}},{"name":"waitForScrollChange","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForScrollChange","meta":{}},{"name":"waitForScrollLeftChange","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForScrollLeftChange","meta":{}},{"name":"waitForScrollTopChange","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForScrollTopChange","meta":{}},{"name":"waitForSelector","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForSelector","meta":{}},{"name":"waitForSelectorAt","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForSelectorAt","meta":{}},{"name":"waitForSelectorAtCursor","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForSelectorAtCursor","meta":{}},{"name":"waitForSelectorNotFound","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForSelectorNotFound","meta":{}},{"name":"waitForSelectors","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitForSelectors","meta":{}},{"name":"waitForTarget","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTarget","meta":{}},{"name":"waitForTextNotPresent","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTextNotPresent","meta":{}},{"name":"waitForTextPresent","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTextPresent","meta":{}},{"name":"waitUntilInView","tagname":"method","owner":"Siesta.Test.Element","id":"method-waitUntilInView","meta":{}},{"name":"wheel","tagname":"method","owner":"Siesta.Test.UserAgent.Mouse","id":"method-wheel","meta":{}},{"name":"xdescribe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-xdescribe","meta":{}},{"name":"xit","tagname":"method","owner":"Siesta.Test.BDD","id":"method-xit","meta":{}},{"name":"beforetestfinalize","tagname":"event","owner":"Siesta.Test","id":"event-beforetestfinalize","meta":{}},{"name":"testfailedwithexception","tagname":"event","owner":"Siesta.Test","id":"event-testfailedwithexception","meta":{}},{"name":"testfinalize","tagname":"event","owner":"Siesta.Test","id":"event-testfinalize","meta":{}},{"name":"teststart","tagname":"event","owner":"Siesta.Test","id":"event-teststart","meta":{}},{"name":"testupdate","tagname":"event","owner":"Siesta.Test","id":"event-testupdate","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Siesta.Test.Browser","short_doc":"A base class for testing a generic browser functionality. ...","component":false,"superclasses":["Siesta.Test"],"subclasses":["Siesta.Test.ExtJS","Siesta.Test.SenchaTouch","Siesta.Test.jQuery"],"mixedInto":[],"parentMixins":["Siesta.Test.BDD","Siesta.Test.Date","Siesta.Test.Function","Siesta.Test.More","Siesta.Util.Role.CanCompareObjects"],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Hierarchy</h4><div class='subclass first-child'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='docClass'>Siesta.Test</a><div class='subclass '><strong>Siesta.Test.Browser</strong></div></div><h4>Mixins</h4><div class='dependency'><a href='#!/api/Siesta.Test.Browser.Role.CanGetElementFromPoint' rel='Siesta.Test.Browser.Role.CanGetElementFromPoint' class='docClass'>Siesta.Test.Browser.Role.CanGetElementFromPoint</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Element' rel='Siesta.Test.Element' class='docClass'>Siesta.Test.Element</a></div><div class='dependency'><a href='#!/api/Siesta.Test.TextSelection' rel='Siesta.Test.TextSelection' class='docClass'>Siesta.Test.TextSelection</a></div><div class='dependency'><a href='#!/api/Siesta.Test.UserAgent.Keyboard' rel='Siesta.Test.UserAgent.Keyboard' class='docClass'>Siesta.Test.UserAgent.Keyboard</a></div><div class='dependency'><a href='#!/api/Siesta.Test.UserAgent.Mouse' rel='Siesta.Test.UserAgent.Mouse' class='docClass'>Siesta.Test.UserAgent.Mouse</a></div><div class='dependency'><a href='#!/api/Siesta.Test.UserAgent.Touch' rel='Siesta.Test.UserAgent.Touch' class='docClass'>Siesta.Test.UserAgent.Touch</a></div><h4>Inherited mixins</h4><div class='dependency'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='docClass'>Siesta.Test.BDD</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Date' rel='Siesta.Test.Date' class='docClass'>Siesta.Test.Date</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='docClass'>Siesta.Test.Function</a></div><div class='dependency'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='docClass'>Siesta.Test.More</a></div><div class='dependency'><a href='#!/api/Siesta.Util.Role.CanCompareObjects' rel='Siesta.Util.Role.CanCompareObjects' class='docClass'>Siesta.Util.Role.CanCompareObjects</a></div><h4>Subclasses</h4><div class='dependency'><a href='#!/api/Siesta.Test.ExtJS' rel='Siesta.Test.ExtJS' class='docClass'>Siesta.Test.ExtJS</a></div><div class='dependency'><a href='#!/api/Siesta.Test.SenchaTouch' rel='Siesta.Test.SenchaTouch' class='docClass'>Siesta.Test.SenchaTouch</a></div><div class='dependency'><a href='#!/api/Siesta.Test.jQuery' rel='Siesta.Test.jQuery' class='docClass'>Siesta.Test.jQuery</a></div><h4>Files</h4><div class='dependency'><a href='source/Browser2.html#Siesta-Test-Browser' target='_blank'>Browser.js</a></div></pre><div class='doc-contents'><p>A base class for testing a generic browser functionality. It has various DOM-related assertions, and is not optimized for any framework.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-isReadyTimeout' class='member first-child inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-cfg-isReadyTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-cfg-isReadyTimeout' class='name expandable'>isReadyTimeout</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>Timeout in milliseconds to wait for test start. ...</div><div class='long'><p>Timeout in milliseconds to wait for test start. Default value is 10000. See also <a href=\"#!/api/Siesta.Test-method-isReady\" rel=\"Siesta.Test-method-isReady\" class=\"docClass\">isReady</a></p>\n<p>Defaults to: <code>10000</code></p></div></div></div><div id='cfg-moveCursorBetweenPoints' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.UserAgent.Mouse' rel='Siesta.Test.UserAgent.Mouse' class='defined-in docClass'>Siesta.Test.UserAgent.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-UserAgent-Mouse-cfg-moveCursorBetweenPoints' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.UserAgent.Mouse-cfg-moveCursorBetweenPoints' class='name expandable'>moveCursorBetweenPoints</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>True to move the mouse cursor between for example two clicks on\n separate elements (for better visual experience) ...</div><div class='long'><p>True to move the mouse cursor between for example two clicks on\n separate elements (for better visual experience)</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-waitForTimeout' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-cfg-waitForTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-cfg-waitForTimeout' class='name expandable'>waitForTimeout</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>Default timeout for waitFor (in milliseconds). ...</div><div class='long'><p>Default timeout for <code>waitFor</code> (in milliseconds). Default value is 10000.</p>\n<p>Defaults to: <code>10000</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-bowser' class='member first-child not-inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-property-bowser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-property-bowser' class='name expandable'>bowser</a> : Object<span class=\"signature\"></span></div><div class='description'><div class='short'><p>Alias for <a href=\"#!/api/Siesta.Test.Browser-property-bowser\" rel=\"Siesta.Test.Browser-property-bowser\" class=\"docClass\">bowser</a></p>\n</div><div class='long'><p>Alias for <a href=\"#!/api/Siesta.Test.Browser-property-bowser\" rel=\"Siesta.Test.Browser-property-bowser\" class=\"docClass\">bowser</a></p>\n</div></div></div><div id='property-url' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-property-url' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-property-url' class='name expandable'>url</a> : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>The url of this test, as given to the start method. ...</div><div class='long'><p>The url of this test, as given to the <a href=\"#!/api/Siesta.Project-method-start\" rel=\"Siesta.Project-method-start\" class=\"docClass\">start</a> method. All subtests of some top-level test shares the same url.</p>\n<p>Defaults to: <code>{required: true}</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-afterEach' class='member first-child inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-afterEach' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-afterEach' class='name expandable'>afterEach</a>( <span class='pre'>code, isAsync</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to execute some \"setup\" code hook after every spec (\"it\" block) of the current test. ...</div><div class='long'><p>This method allows you to execute some \"setup\" code hook after every spec (\"it\" block) of the current test.\nSuch hooks are <strong>not</strong> executed for the \"describe\" blocks and sub-tests generated with\nthe <a href=\"#!/api/Siesta.Test-method-getSubTest\" rel=\"Siesta.Test-method-getSubTest\" class=\"docClass\">getSubTest</a> method.</p>\n\n<p>Note, that specs can be nested and all <code>afterEach</code> hooks are executed in order, starting from the most-nested one.</p>\n\n<p>The 1st argument of the hook function is always the test instance being launched.</p>\n\n<p>If the hook function is async (<code>async () => {}</code>) Siesta will \"await\" until it completes.</p>\n\n<p>If hook is declared with 2 arguments - it is supposed to be asynchronous (you can also force the asynchronous\nmode with the <code>isAsync</code> argument, see below). The completion callback will be provided as the 2nd argument for the hook.</p>\n\n<p>This method can be called several times, providing several \"hook\" functions.</p>\n\n<p>For example:</p>\n\n<pre><code>StartTest(function (t) {\n var baz = 0\n\n t.afterEach(function (t) {\n // the `t` instance here is the \"t\" instance from the \"it\" block below\n baz = 0\n })\n\n t.it(\"This feature should work\", function (t) {\n t.expect(myFunction(baz++)).toEqual('someResult')\n })\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function to execute after every spec</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>t</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>A test instance being completed</p>\n</div></li><li><span class='pre'>next</span> : Function<div class='sub-desc'><p>A callback to call when the <code>afterEach</code> method completes. This argument is only provided\nwhen hook function is declared with 2 arguments (or the <code>isAsync</code> argument is passed as <code>true</code>)</p>\n</div></li></ul></div></li><li><span class='pre'>isAsync</span> : Boolean<div class='sub-desc'><p>When passed as <code>true</code> this argument makes the <code>afterEach</code> method asynchronous. In this case,\nthe <code>code</code> function will receive an additional callback argument, which should be called once the method has completed its work.</p>\n\n<p>Note, that <code>afterEach</code> method should complete within defaultTimeout time, otherwise\nfailing assertion will be added to the test.</p>\n\n<p>Example of asynchronous hook:</p>\n\n<pre><code>StartTest(function (t) {\n var baz = 0\n var delay = (time) => new Promise(resolve => setTimeout(resolve, time))\n\n // asynchronous hook function\n t.beforeEach(async t => {\n await delay(100)\n baz = 0\n })\n\n // asynchronous setup code\n t.afterEach(function (t, next) {\n\n // `afterEach` will complete in 100ms\n setTimeout(function () {\n baz = 0\n next()\n }, 100)\n })\n\n t.describe(\"This feature should work\", function (t) {\n t.expect(myFunction(baz++)).toEqual('someResult')\n })\n})\n</code></pre>\n</div></li></ul></div></div></div><div id='method-any' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-any' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-any' class='name expandable'>any</a>( <span class='pre'>clsConstructor</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any instance of the provided class constructor. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any instance of the provided class constructor. Such placeholder can be used in various\ncomparison assertions, like is, isDeeply, <a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is(1, t.any(Number))\n\nt.expect(1).toBe(t.any(Number))\n\nt.isDeeply({ name : 'John', age : 45 }, { name : 'John', age : t.any(Number))\n\nt.expect({ name : 'John', age : 45 }).toEqual({ name : 'John', age : t.any(Number))\n\nt.is(NaN, t.any(), 'When class constructor is not provided `t.any()` should match anything')\n</code></pre>\n\n<p>See also <a href=\"#!/api/Siesta.Test.BDD-method-anyNumberApprox\" rel=\"Siesta.Test.BDD-method-anyNumberApprox\" class=\"docClass\">anyNumberApprox</a>, <a href=\"#!/api/Siesta.Test.BDD-method-anyStringLike\" rel=\"Siesta.Test.BDD-method-anyStringLike\" class=\"docClass\">anyStringLike</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>clsConstructor</span> : Function<div class='sub-desc'><p>A class constructor instances of which are denoted with this placeholder. As a special case if this argument\nis not provided, a placeholder will match any value.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-anyNumberApprox' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-anyNumberApprox' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-anyNumberApprox' class='name expandable'>anyNumberApprox</a>( <span class='pre'>value, [threshold]</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any number approximately equal to the provided value. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any number approximately equal to the provided value.\nSuch placeholder can be used in various comparison assertions, like is, isDeeply,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is(1, t.anyNumberApprox(1.2, 0.5))\n\nt.expect(1).toBe(t.anyNumberApprox(1.2, 0.5))\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Number<div class='sub-desc'><p>The approximate value</p>\n</div></li><li><span class='pre'>threshold</span> : Number (optional)<div class='sub-desc'><p>The threshold. If omitted, it is set to 5% from the <code>value</code>.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-anyStringLike' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-anyStringLike' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-anyStringLike' class='name expandable'>anyStringLike</a>( <span class='pre'>value</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any string that matches provided value. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any string that matches provided value.\nSuch placeholder can be used in various comparison assertions, like is, isDeeply,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is('foo', t.anyStringLike('oo'))\n\nt.expect('bar').toBe(t.anyStringLike(/ar$/))\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : String/RegExp<div class='sub-desc'><p>If given as string will denote a substring a string being checked should contain,\nif given as RegExp instance then string being checked should match this RegExp</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-assertTextPresent' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Element' rel='Siesta.Test.Element' class='defined-in docClass'>Siesta.Test.Element</a><br/><a href='source/Element2.html#Siesta-Test-Element-method-assertTextPresent' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Element-method-assertTextPresent' class='name expandable'>assertTextPresent</a>( <span class='pre'>text, [description]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Passes if the innerText property of the <body> element contains the text passed ...</div><div class='long'><p>Passes if the <code>innerText</code> property of the <body> element contains the text passed</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to match</p>\n</div></li><li><span class='pre'>description</span> : String (optional)<div class='sub-desc'><p>The description for the assertion</p>\n</div></li></ul></div></div></div><div id='method-beforeEach' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-beforeEach' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-beforeEach' class='name expandable'>beforeEach</a>( <span class='pre'>code, isAsync</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to execute some \"setup\" code hook before every spec (\"it\" block) of the current test. ...</div><div class='long'><p>This method allows you to execute some \"setup\" code hook before every spec (\"it\" block) of the current test.\nSuch hooks are <strong>not</strong> executed for the \"describe\" blocks and sub-tests generated with\nthe <a href=\"#!/api/Siesta.Test-method-getSubTest\" rel=\"Siesta.Test-method-getSubTest\" class=\"docClass\">getSubTest</a> method.</p>\n\n<p>Note, that specs can be nested and all <code>beforeEach</code> hooks are executed in order, starting from the outer-most one.</p>\n\n<p>The 1st argument of the hook function is always the test instance being launched.</p>\n\n<p>If the hook function is async (<code>async () => {}</code>) Siesta will \"await\" until it completes.</p>\n\n<p>If hook is declared with 2 arguments - it is supposed to be asynchronous (you can also force the asynchronous\nmode with the <code>isAsync</code> argument, see below). The completion callback will be provided as the 2nd argument for the hook.</p>\n\n<p>This method can be called several times, providing several \"hook\" functions.</p>\n\n<p>For example:</p>\n\n<pre><code>StartTest(function (t) {\n var baz = 0\n\n t.beforeEach(function (t) {\n // the `t` instance here is the \"t\" instance from the \"it\" block below\n baz = 0\n })\n\n t.it(\"This feature should work\", function (t) {\n t.expect(myFunction(baz++)).toEqual('someResult')\n })\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function to execute before every spec</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>t</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>A test instance being launched</p>\n</div></li><li><span class='pre'>next</span> : Function<div class='sub-desc'><p>A callback to call when the <code>beforeEach</code> method completes. This argument is only provided\nwhen hook function is declared with 2 arguments (or the <code>isAsync</code> argument is passed as <code>true</code>)</p>\n</div></li></ul></div></li><li><span class='pre'>isAsync</span> : Boolean<div class='sub-desc'><p>When passed as <code>true</code> this argument makes the <code>beforeEach</code> method asynchronous. In this case,\nthe <code>code</code> function will receive an additional callback argument, which should be called once the method has completed its work.</p>\n\n<p>Note, that <code>beforeEach</code> method should complete within defaultTimeout time, otherwise\nfailing assertion will be added to the test.</p>\n\n<p>Example of asynchronous hook:</p>\n\n<pre><code>StartTest(function (t) {\n var baz = 0\n var delay = (time) => new Promise(resolve => setTimeout(resolve, time))\n\n // asynchronous hook function\n t.beforeEach(async t => {\n await delay(100)\n baz = 0\n })\n\n // asynchronous setup code\n t.beforeEach(function (t, next) {\n\n // `beforeEach` will complete in 100ms\n setTimeout(function () {\n baz = 0\n next()\n }, 100)\n })\n\n t.describe(\"This feature should work\", function (t) {\n t.expect(myFunction(baz++)).toEqual('someResult')\n })\n})\n</code></pre>\n</div></li></ul></div></div></div><div id='method-beginAsync' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-beginAsync' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-beginAsync' class='name expandable'>beginAsync</a>( <span class='pre'>time, errback</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts the \"asynchronous frame\". ...</div><div class='long'><p>This method starts the \"asynchronous frame\". The test will wait for all asynchronous frames to complete before it will finalize.\nThe frame should be finished with the <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> call within the provided <code>time</code>, otherwise a failure will be reported.</p>\n\n<p>For example:</p>\n\n<pre><code> var async = t.beginAsync()\n\n Ext.require('Some.Class', function () {\n\n t.ok(Some.Class, 'Some class was loaded')\n\n t.endAsync(async)\n })\n</code></pre>\n\n<p>Additionally, if you return a <code>Promise</code> instance from the test function itself, Siesta will wait until that promise is resolved before finalizing the test.\nIn modern browsers, this allows us to use <code>async/await</code> functions:</p>\n\n<pre><code> StartTest(t => {\n let someAsyncOperation = () => new Promise((resolve, reject) => {\n setTimeout(() => resolve(true), 1000)\n })\n\n t.it('Doing async stuff', async t => {\n let res = await someAsyncOperation()\n\n t.ok(res, \"Async stuff finished correctly\")\n })\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>time</span> : Number<div class='sub-desc'><p>The maximum time (in ms) to wait until force the finalization of this async frame. Optional. Default time is 15000 ms.</p>\n</div></li><li><span class='pre'>errback</span> : Function<div class='sub-desc'><p>Optional. The function to call in case the call to <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> was not detected withing <code>time</code>. If function\nwill return any \"truthy\" value, the failure will not be reported (you can report own failure with this errback).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>The frame object, which can be used in <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> call</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-chain' class='member inherited'><a href='#' class='side expandable'><span> </span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-chain' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-chain' class='name expandable'>chain</a>( <span class='pre'>step1, step2, stepN</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method accepts a variable number of steps, either as individual arguments or as a single array containing them. ...</div><div class='long'><p>This method accepts a variable number of steps, either as individual arguments or as a single array containing them. Steps and arrays\nof steps are handled just fine, and any step-arrays passed will be flattened. Each step should be either a function or configuration\nobject for <a href=\"#!/api/Siesta.Test.Action\" rel=\"Siesta.Test.Action\" class=\"docClass\">test actions</a>. These functions / actions will be executed in order.</p>\n\n<p>1) For a function step, it will receive a callback as the 1st argument, to call when the step is completed.\nAs the 2nd and further arguments, the step function will receive the arguments passed to the previous callback.</p>\n\n<p>If a function step returns a promise, it should not call the callback, but instead Siesta will wait until the promise returned is\nresolved / rejected. This plays nicely with the <code>async/await</code> functions:</p>\n\n<pre><code>let someAsyncOperation =\n t => new Promise((resolve, reject) => {\n setTimeout(() => { resolve(\"someValue\") }, 300)\n })\n\nt.it('Doing async stuff', t => {\n t.chain(\n // function step, that returns a promise (sugared with async/await)\n async () => {\n return await someAsyncOperation(t)\n },\n // desugared version\n function (next, result) {\n return someAsyncOperation(t)\n }\n )\n})\n</code></pre>\n\n<p>The last step will receive a no-op callback, which can be ignored or still called. <strong>Note</strong>, that last step is assumed to\ncomplete synchronously! If you need to launch some asynchronous process in the last step, you may need to add another empty function step\nto the end of the chain.</p>\n\n<p>2) For <code><a href=\"#!/api/Siesta.Test.Action\" rel=\"Siesta.Test.Action\" class=\"docClass\">Siesta.Test.Action</a></code> objects, the callback will be called by the action class automatically,\nthere's no need to provide any callback manually. The configuration object should contain an \"action\" property, specifying the action class\nalong with other config options depending on the action class. For brevity, instead of using the \"action\" property, the configuration\nobject can contain the property corresponding to the action name itself, with the action's target (or even a test method with arguments).\nSee the following examples and also refer to the documentation of the action classes.</p>\n\n<p>If the configuration object will contain a <code>desc</code> property, a passing assertion with its value will be added to the test, after this step has completed.</p>\n\n<p>3) If a step is a sub test instance, created with getSubTest method, then the step will launch it.</p>\n\n<p>It's better to see how it works in action. For example, when using using only functions:</p>\n\n<pre><code>t.chain(\n // function receives a callback as 1st argument\n function (next) {\n // we p