HsacExamples.SlimTests.BrowserTests.ScriptTest


Website testing using BrowserTest



On this page we test retrieving some information from AllMusic.

To do this we use a Slim script table[?] driving the Java class BrowserTest (which uses Selenium).
This class allows us to specify what we want to do using a web browser, by the (end user visible) texts on screen. We don't need to specify any HTML code or write any custom Java logic. By only using the texts visible on screen we only need to change the script if the site's interaction design changes, but not for changes in HTML structure, element naming or styling.

The configuration of Selenium (i.e. which browser to use) and starting the browser session is done in the SuiteSetup[?]. Which allows this configuration to be shared between tests. Closing the browser is done in SuiteTearDown, which happens after all tests are completed.

script browser test org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: -0.002 (Session info: chrome=80.0.3987.87) (Driver info: chromedriver=80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}),platform=Windows NT 10.0.10586 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'localhost', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1055-gcp', java.version: '1.8.0_242' Driver info: org.openqa.selenium.remote.RemoteWebDriver Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 80.0.3987.16 (320f6526c1632..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:49760}, handlesAlerts: true, hasMetadata: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 80.0.3987.87, webStorageEnabled: true, webdriver.remote.sessionid: 74ed0e4e6eb242638abd370a507...} Session ID: 74ed0e4e6eb242638abd370a507c4669
note all music loads a lot of slow ads, we don't want to wait on those
set continue if ready state interactive No Method setContinueIfReadyStateInteractive[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean true
open No Method open[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean https://www.allmusic.com
show No Method clickIfAvailable[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean click if available I accept
enter No Method enterAs[2] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean Van Morrison as Search
press No Method press[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean enter
click No Method click[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean Van Morrison
show No Method takeScreenshot[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean take screenshot overview
click No Method click[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean Discography
check page title Van Morrison | Album Discography | AllMusic No Method pageTitle[0] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean
show No Method takeScreenshot[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean take screenshot discography
check value of Year in row where Album is Astral Weeks 1968 No Method valueOfInRowWhereIs[3] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean
note close popup, if shown
show No Method clickIfAvailable[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean click if available X
note scroll top of discography on screen
scroll to No Method scrollTo[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean Filter Discography By
click No Method click[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean Astral Weeks
show No Method takeScreenshot[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean take screenshot album
click No Method click[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean click to embiggen
wait for cover to appear
wait 1 seconds
show No Method takeScreenshot[1] in class nl.hsac.fitnesse.fixture.slim.web.LayoutTest. Available methods: addValueTo(java.lang.Object, java.lang.String) -> void aroundSlimInvoke(fitnesse.slim.fixtureInteraction.FixtureInteraction, java.lang.reflect.Method, java.lang.Object[]) -> class java.lang.Object clearValue(java.lang.String) -> boolean clearValues() -> void copyValuesFrom(java.util.Map) -> void equals(java.lang.Object) -> boolean excludedTags() -> interface java.util.List expandPeriodsInNamesToNestedMaps(boolean) -> void expandsPeriodsInNamesToNestedMaps() -> boolean getClass() -> class java.lang.Class getMapHelper() -> class nl.hsac.fitnesse.fixture.util.MapHelper getOverallReportLink() -> class java.lang.String globalValue(java.lang.String) -> class java.lang.String hashCode() -> int includedTags() -> interface java.util.List layoutCheckMessages() -> class java.lang.Object notify() -> void notifyAll() -> void passedSpecCount() -> int repeatAtMostTimes() -> int repeatAtMostTimes(int) -> void repeatCount() -> int repeatInterval() -> long reset() -> void set(java.lang.String, java.lang.Object) -> void setBase64EncodedContentOfAsValueFor(java.lang.String, java.lang.String) -> void setBooleanValueFor(boolean, java.lang.String) -> void setContentOfAsValueFor(java.lang.String, java.lang.String) -> void setDoubleValueFor(double, java.lang.String) -> void setExcludedTags(java.util.List) -> void setGlobalValueTo(java.lang.String, java.lang.String) -> void setIncludedTags(java.util.List) -> void setIntValueFor(int, java.lang.String) -> void setLayoutCheckName(java.lang.String) -> void setMapHelper(nl.hsac.fitnesse.fixture.util.MapHelper) -> void setRepeatIntervalToMilliseconds(int) -> void setValueFor(java.lang.Object, java.lang.String) -> void setValuesFor(java.lang.String, java.lang.String) -> void specErrorCount() -> int specWarningCount() -> int timeSpentRepeating() -> long toString() -> class java.lang.String value(java.lang.String) -> class java.lang.Object verifiedSpecCount() -> int verifyLayoutUsing(java.lang.String) -> class java.lang.String wait() -> void wait(long) -> void wait(long, int) -> void waitMilliseconds(int) -> boolean waitSeconds(int) -> boolean take screenshot cover


When multiple similar sequences of steps are needed a script can be generalized using a scenario, which is show in ScenarioTest.
To make test more readable, maintainable and powerful we can also create custom subclasses of BrowserTest. This is shown in CustomFixtureTest.