Package net.thucydides.core.steps
Class StepEventBus
java.lang.Object
net.thucydides.core.steps.StepEventBus
- Direct Known Subclasses:
SilentEventBus
An event bus for Step-related notifications.
Use this to integrate Thucydides listeners with testing tools.
You create a listener (e.g. an instance of BaseStepListener, or your own), register it using
'registerListener', and then implement the various methods (testStarted(), stepStarted()). Thucydides
will call these events on your listener as they occur.
You can register a new Thucydides listener by implementing the StepListener interface and
placing your class in the classpath. Thucydides will automatically detect the listener and add it to the
registered listeners. It will load custom listeners automatically when a test starts for the first time.
-
Constructor Summary
ConstructorsConstructorDescriptionStepEventBus(EnvironmentVariables environmentVariables, Configuration configuration) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDescriptionToCurrentTest(String description) voidaddIssuesToCurrentStory(List<String> issues) voidaddIssuesToCurrentTest(List<String> issues) voidaddNewExamplesFrom(DataTable newTable) voidaddTagsToCurrentStory(List<TestTag> tags) voidaddTagsToCurrentTest(List<TestTag> tags) booleanbooleanvoidassumptionViolated(String message) booleanvoidvoidvoidclear()static voidclearEventBusFor(Object key) voidbooleanbooleanvoidvoidvoiddropAgents(Agent... agents) voidvoiddropListener(StepListener stepListener) voidvoidstatic StepEventBuseventBusFor(Object key) voidvoidexampleStarted(Map<String, String> data) voidexampleStarted(Map<String, String> data, String exampleName) voidexceptionExpected(Class<? extends Throwable> expected) voidprotected List<StepListener>static StepEventBusThe event bus used to inform listening classes about when tests and test steps start and finish.voidbooleanbooleanbooleanisDryRun()booleanvoidlastStepFailed(StepFailure failure) voidlastTestPassedAfterRetries(int remainingTries, List<String> failureMessages, TestFailureCause testFailureCause) voidmergeActivitiesToDefaultStepListener(String stepName, Agent... agents) voidmergeActivitiesToDefaultStepListener(Agent... agents) voidvoidvoidstatic voidoverrideEventBusWith(StepEventBus stepEventBus) voidvoidvoidregisterAgent(Agent agent) voidregisterAgents(Agent... agents) registerListener(StepListener listener) Register a listener to receive notification at different points during a test's execution.voidreset()voidsetAllStepsTo(TestResult result) Set all steps in the current test outcome to a given result.voidsetBackgroundDescription(String description) voidsetBackgroundTitle(String title) static voidvoidvoidsetTestSource(String testSource) voidsetUniqueSession(boolean uniqueSession) voidskippedStepStarted(ExecutedStepDescription executedStepDescription) Record a step that is not scheduled to be executed (e.g.booleanvoidstepFailed(StepFailure failure) voidvoidvoidvoidstepPending(String message) voidstepStarted(ExecutedStepDescription stepDescription) Start the execution of a test step.voidstepStarted(ExecutedStepDescription stepDescription, boolean isPrecondition) Start the execution of a test step.voidvoidsuspendTest(TestResult result) voidForces Thucydides to take a screenshot now.voidvoidvoidtestFailed(Throwable cause) The test failed, but not during the execution of a step.voidvoidtestFinished(boolean inDataDrivenTest) voidtestFinished(TestOutcome result) voidvoidMark the current test method as pending.voidMark the current test method as pending.voidvoidvoidvoidtestStarted(String testName) voidtestStarted(String newTestName, Class<?> testClass) voidtestStarted(String testName, String id) voidtestStarted(String newTestName, Story story) voidbooleanvoidtestSuiteStarted(Class<?> testClass) voidtestSuiteStarted(Story story) voidRemoves a test suspensionvoidupdateCurrentStepTitle(String stepTitle) voidupdateCurrentStepTitleAsPrecondition(String stepTitle) voidupdateExampleLineNumber(int lineNumber) voidvoiduseExamplesFrom(DataTable table) voiduseScenarioOutline(String scenarioOutline) boolean
-
Constructor Details
-
StepEventBus
-
-
Method Details
-
getEventBus
The event bus used to inform listening classes about when tests and test steps start and finish. There is a separate event bus for each thread. -
eventBusFor
- Parameters:
key-- Returns:
-
setCurrentBusToEventBusFor
-
clearEventBusFor
-
getEnvironmentVariables
-
registerListener
Register a listener to receive notification at different points during a test's execution. If you are writing your own listener, you shouldn't need to call this method - just set up your listener implementation as a service (see http://download.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html), place the listener class on the classpath and it will be detected automatically. -
isBaseStepListenerRegistered
public boolean isBaseStepListenerRegistered() -
getBaseStepListener
-
testStarted
-
testStarted
-
isUniqueSession
public boolean isUniqueSession() -
setUniqueSession
public void setUniqueSession(boolean uniqueSession) -
testStarted
-
testStarted
-
getAllListeners
-
testSuiteStarted
-
updateExampleLineNumber
public void updateExampleLineNumber(int lineNumber) -
testSuiteStarted
-
clear
public void clear() -
unsuspend
public void unsuspend()Removes a test suspension -
testFinished
public void testFinished(boolean inDataDrivenTest) -
finishTestRun
public void finishTestRun() -
testFinished
public void testFinished() -
testFinished
-
testRetried
public void testRetried() -
clearStepFailures
public void clearStepFailures() -
aStepInTheCurrentTestHasFailed
public boolean aStepInTheCurrentTestHasFailed() -
isCurrentTestDataDriven
public boolean isCurrentTestDataDriven() -
stepStarted
Start the execution of a test step. -
stepStarted
Start the execution of a test step. -
skippedStepStarted
Record a step that is not scheduled to be executed (e.g. a skipped or ignored step). -
stepFinished
public void stepFinished() -
stepFailed
-
lastStepFailed
-
stepIgnored
public void stepIgnored() -
stepPending
public void stepPending() -
stepPending
-
assumptionViolated
-
dropListener
-
dropAllListeners
public void dropAllListeners() -
reenableWebDriver
public void reenableWebDriver() -
webdriverCallsAreSuspended
public boolean webdriverCallsAreSuspended() -
reenableWebdriverCalls
public void reenableWebdriverCalls() -
temporarilySuspendWebdriverCalls
public void temporarilySuspendWebdriverCalls() -
testFailed
The test failed, but not during the execution of a step.- Parameters:
cause- the underlying cause of the failure.
-
testPending
public void testPending()Mark the current test method as pending. The test will stil be executed to record the steps, but any webdriver calls will be skipped. -
testIsManual
public void testIsManual()Mark the current test method as pending. The test will stil be executed to record the steps, but any webdriver calls will be skipped. -
suspendTest
public void suspendTest() -
suspendTest
-
useScenarioOutline
-
currentTestIsSuspended
public boolean currentTestIsSuspended() -
assumptionViolated
public boolean assumptionViolated() -
testIgnored
public void testIgnored() -
testSkipped
public void testSkipped() -
testAborted
public void testAborted() -
areStepsRunning
public boolean areStepsRunning() -
notifyScreenChange
public void notifyScreenChange() -
testSuiteFinished
public void testSuiteFinished() -
testRunFinished
public void testRunFinished() -
updateCurrentStepTitle
-
updateCurrentStepTitleAsPrecondition
-
addIssuesToCurrentStory
-
addIssuesToCurrentTest
-
addTagsToCurrentTest
-
addTagsToCurrentStory
-
addDescriptionToCurrentTest
-
setBackgroundTitle
-
setBackgroundDescription
-
setRule
-
useExamplesFrom
-
addNewExamplesFrom
-
exampleStarted
-
exampleStarted
-
exampleFinished
public void exampleFinished() -
currentTestOutcomeIsDataDriven
public boolean currentTestOutcomeIsDataDriven() -
takeScreenshot
public void takeScreenshot()Forces Thucydides to take a screenshot now. -
notifyFailure
public void notifyFailure() -
testSuiteHasStarted
public boolean testSuiteHasStarted() -
getAssumptionViolatedMessage
-
getCurrentStep
-
setAllStepsTo
Set all steps in the current test outcome to a given result. Used to set all steps to PENDING or SKIPPED, for example.- Parameters:
result-
-
getForcedResult
-
isDryRun
public boolean isDryRun() -
enableDryRun
public void enableDryRun() -
exceptionExpected
-
resultSoFar
-
mergePreviousStep
public void mergePreviousStep() -
updateOverallResults
public void updateOverallResults() -
reset
public void reset() -
disableSoftAsserts
public void disableSoftAsserts() -
enableSoftAsserts
public void enableSoftAsserts() -
softAssertsActive
public boolean softAssertsActive() -
getTestSource
-
setTestSource
-
cancelPreviousTest
public void cancelPreviousTest() -
lastTestPassedAfterRetries
public void lastTestPassedAfterRetries(int remainingTries, List<String> failureMessages, TestFailureCause testFailureCause) -
overrideEventBusWith
-
castActor
-
initialiseSession
public void initialiseSession() -
registerAgent
-
registerAgents
-
dropAgents
-
dropAgent
-
mergeActivitiesToDefaultStepListener
-
mergeActivitiesToDefaultStepListener
-