com.atlassian.jira.functest.framework
Class FuncTestCase

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by com.atlassian.jira.functest.framework.FuncTestCase
All Implemented Interfaces:
FunctTestConstants, FuncTestLogger, com.atlassian.jira.webtests.util.EnvironmentAware, junit.framework.Test
Direct Known Subclasses:
EmailFuncTestCase

public class FuncTestCase
extends junit.framework.TestCase
implements com.atlassian.jira.webtests.util.EnvironmentAware, FuncTestLogger, FunctTestConstants

The base class for JIRA "next generation" functional test cases. This lightweight implementation of TestCase provides for the ability to "record" exceptions that happening during the running of tests and produce "test artifacts" of these exceptions.

Also much of the standard JIRA setUp() and tearDown() is done via this class. It is the intended base class for JIRA web functional test cases.

NOTE: setUp() and tearDown() are final, please use the template methods setUpTest() and tearDownTest() instead

Since:
v3.13

Field Summary
protected  Administration administration
          Use this field to access the Administration helper in play
protected  Assertions assertions
          Use this field to access the Assertions helper in play
protected  com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData
          Use this field to access the JIRAEnvironmentData in play
protected  Form form
          Used to set form values in tests.
protected  FuncTestHelperFactory funcTestHelperFactory
          Factory for getting access to useful Func Test objects
protected  LocatorFactory locator
          Use this field to access the LocatorFactory in play
protected  FuncTestLogger log
          Use this field to access the FuncTestLogger in play
protected  Navigation navigation
          Use this field to access the Navigation helper in play
protected  JIRAWebTest oldway_consider_porting
          Deprecated. think about why you need use the old ways
protected  HtmlPage page
          Used to find out about the current HTML page that the test is on.
protected  Parser parse
          Use this field to access the Parser helper in play
protected  net.sourceforge.jwebunit.WebTester tester
          Use this field to access the WebTester in play
protected  TextAssertions text
          Use this field to access the TextAssertions helper in play
 
Fields inherited from interface com.atlassian.jira.functest.framework.FunctTestConstants
ADMIN_EMAIL, ADMIN_FULLNAME, ADMIN_PASSWORD, ADMIN_USERNAME, ADMINISTER, AFFECTS_VERSIONS_FIELD_ID, ANYONE, ASSIGN_FIELD_SCREEN, ASSIGN_FIELD_SCREEN_NAME, ASSIGN_ISSUE, ASSIGNABLE_USER, ASSIGNEE_FIELD_ID, ATTACHMENT_FIELD_ID, BOB_EMAIL, BOB_FULLNAME, BOB_PASSWORD, BOB_USERNAME, BROWSE, BULK_CHANGE, BUTTON_CANCEL, BUTTON_CONFIRM, BUTTON_NAME_NEXT, BUTTON_NEXT, CHANGE_HISTORY, CLONERS_INWARD_LINK_NAME, CLONERS_LINK_TYPE_NAME, CLONERS_OUTWARD_LINK_NAME, CLOSE_ISSUE, COMMENT_ISSUE, COMPONENT_NAME_FOUR, COMPONENT_NAME_ONE, COMPONENT_NAME_THREE, COMPONENT_NAME_TWO, COMPONENTS_FIELD_ID, CREATE_ATTACHMENT, CREATE_ISSUE, CREATE_ISSUE_OPERATION_SCREEN, CREATE_SHARED_OBJECTS, CUSTOM_FIELD_CONFIGURATION, CUSTOM_FIELD_PREFIX, CUSTOM_FIELD_TYPE_CHECKBOX, CUSTOM_FIELD_TYPE_DATEPICKER, CUSTOM_FIELD_TYPE_DATETIME, CUSTOM_FIELD_TYPE_GROUPPICKER, CUSTOM_FIELD_TYPE_MULTIGROUPPICKER, CUSTOM_FIELD_TYPE_MULTISELECT, CUSTOM_FIELD_TYPE_RADIO, CUSTOM_FIELD_TYPE_SELECT, CUSTOM_FIELD_TYPE_TEXTFIELD, CUSTOM_FIELD_TYPE_USERPICKER, CUSTOM_SUB_TASK_SUMMARY, CUSTOM_SUB_TASK_TYPE_DESCRIPTION, CUSTOM_SUB_TASK_TYPE_NAME, DEFAULT_ASSIGNEE_ERROR_MESSAGE, DEFAULT_FIELD_CONFIGURATION, DEFAULT_FIELD_SCREEN_NAME, DEFAULT_ISSUE_TYPE_SCREEN_SCHEME, DEFAULT_OPERATION_SCREEN, DEFAULT_PERM_SCHEME, DEFAULT_SCREEN_SCHEME, DEFAULT_TEXT_RENDERER, DELETE_ISSUE, DUE_DATE_FIELD_ID, EDIT_ISSUE, EDIT_ISSUE_OPERATION_SCREEN, EVENT_TYPE_ACTIVE_STATUS, EVENT_TYPE_INACTIVE_STATUS, FIELD_ASSIGNEE, FIELD_COMPONENTS, FIELD_FIX_VERSIONS, FIELD_OPERATION, FIELD_PRIORITY, FIELD_SCHEME_DESC, FIELD_SCHEME_NAME, FIELD_TABLE_ID, FIELD_VERSIONS, FIX_VERSIONS_FIELD_ID, FORMAT_DAYS, FORMAT_HOURS, FORMAT_PRETTY, FRED_EMAIL, FRED_FULLNAME, FRED_PASSWORD, FRED_USERNAME, FS, GLOBAL_ADMIN, HTM, ISSUE_ALL, ISSUE_BUG, ISSUE_IMAGE_BUG, ISSUE_IMAGE_IMPROVEMENT, ISSUE_IMAGE_NEWFEATURE, ISSUE_IMAGE_SUB_TASK, ISSUE_IMAGE_TASK, ISSUE_IMPROVEMENT, ISSUE_NEWFEATURE, ISSUE_TAB_ALL, ISSUE_TAB_CHANGE_HISTORY, ISSUE_TAB_COMMENTS, ISSUE_TAB_WORK_LOG, ISSUE_TASK, ISSUE_TYPE_ALL, ISSUE_TYPE_ANY, ISSUE_TYPE_BUG, ISSUE_TYPE_IMPROVEMENT, ISSUE_TYPE_NEWFEATURE, ISSUE_TYPE_SUB_TASK, ISSUE_TYPE_TASK, ISSUETABLE_EDIT_ROW, ISSUETABLE_HEADER_ROW, ISSUETABLE_ID, JIRA_ADMIN_ROLE, JIRA_DEV_ROLE, JIRA_FORM_NAME, JIRA_USERS_ROLE, LABEL_ISSUE_NAVIGATOR, LINK_ASSIGN_ISSUE, LINK_BULK_CHANGE_ALL, LINK_BULK_CHANGE_CURR_PG, LINK_CLONE_ISSUE, LINK_DELETE_ISSUE, LINK_EDIT_ISSUE, LINK_ISSUE, LINK_NEXT_PG, MANAGE_GROUP_FILTER_SUBSCRIPTIONS, MANAGE_WATCHER_LIST, minorPriority, MODIFY_REPORTER, MOVE_DOWN, MOVE_ISSUE, MOVE_TO_FIRST, MOVE_TO_LAST, MOVE_UP, PERM_SCHEME_DESC, PERM_SCHEME_NAME, PRIORITY_BLOCKER, PRIORITY_CRITICAL, PRIORITY_FIELD_ID, PRIORITY_IMAGE_BLOCKER, PRIORITY_IMAGE_CRITICAL, PRIORITY_IMAGE_MAJOR, PRIORITY_IMAGE_MINOR, PRIORITY_IMAGE_TRIVIAL, PRIORITY_MAJOR, PRIORITY_MINOR, PRIORITY_TRIVIAL, PROJECT_ADMIN, PROJECT_HOMOSAP, PROJECT_HOMOSAP_KEY, PROJECT_MONKEY, PROJECT_MONKEY_KEY, PROJECT_NEO, PROJECT_NEO_KEY, PROJECT_TAB_CHANGE_LOG, PROJECT_TAB_COMPONENTS, PROJECT_TAB_OPEN_ISSUES, PROJECT_TAB_POPULAR_ISSUES, PROJECT_TAB_ROAD_MAP, PROJECT_TAB_VERSIONS, RADIO_OPERATION_DELETE, RADIO_OPERATION_EDIT, RADIO_OPERATION_MOVE, RADIO_OPERATION_WORKFLOW, REPORTER_FIELD_ID, RESOLUTION_FIELD_ID, RESOLVE_FIELD_SCREEN_NAME, RESOLVE_ISSUE, SCHEDULE_ISSUE, SCREEN_TABLE_NAME_COLUMN_INDEX, SECURITY_LEVEL_FIELD_ID, SECURITY_LEVEL_ONE_DESC, SECURITY_LEVEL_ONE_NAME, SECURITY_LEVEL_THREE_DESC, SECURITY_LEVEL_THREE_NAME, SECURITY_LEVEL_TWO_DESC, SECURITY_LEVEL_TWO_NAME, SECURITY_SCHEME_DESC, SECURITY_SCHEME_NAME, SET_ISSUE_SECURITY, STATUS_IMAGE_IN_PROGRESS, STATUS_IMAGE_OPEN, STATUS_IMAGE_REOPENED, STATUS_IMAGE_RESOLVED, STATUS_IN_PROGRESS, STATUS_NAME, STATUS_OPEN, STEP_CHOOSE_ISSUES, STEP_CHOOSE_OPERATION, STEP_CONFIRMATION, STEP_NAME, STEP_OPERATION_DETAILS, STEP_PREFIX, SUB_TASK_DEFAULT_TYPE, SUB_TASK_SUMMARY, Summary, SYS_ADMIN_PASSWORD, SYS_ADMIN_USERNAME, SYSTEM_ADMINISTER, TEST_FIELD_SCREEN, TRANSIION_NAME_APPROVE, TRANSIION_NAME_CLOSE, TRANSIION_NAME_REOPEN, TRANSIION_NAME_RESOLVE, TRANSIION_NAME_START_PROGRESS, TRANSIION_NAME_STOP_PROGRESS, USE, USER_PICKER, VERSION_NAME_FIVE, VERSION_NAME_FOUR, VERSION_NAME_ONE, VERSION_NAME_THREE, VERSION_NAME_TWO, VERSIONS_FIELD_ID, VIEW_ISSUE_OPERATION_SCREEN, VIEW_VERSION_CONTROL, VIEW_VOTERS_AND_WATCHERS, WIKI_STYLE_RENDERER, WORK_ISSUE, WORKFLOW_ADDED, WORKFLOW_COPIED, WORKFLOW_SCHEME
 
Constructor Summary
FuncTestCase()
           
 
Method Summary
 Assertions getAssertions()
           
 com.atlassian.jira.webtests.util.JIRAEnvironmentData getEnvironmentData()
           
 net.sourceforge.jwebunit.WebTester getTester()
           
 FuncTestWebClientListener getWebClientListener()
           
 void log(Object logData)
          This will data via a String.valueOf(logData) in the specified object.
 void log(Throwable t)
           
 void runBare()
          The outer most edge of a JUnit Test.
protected  void runTest()
          Overridden so we can "record" exceptions that may happen during test execution.
 void setEnvironmentData(com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData)
           
protected  void setUp()
          The default and final setUp() method will connect to JIRA and make sure its initialised and ready to go.

For individual test setUp, override setUpTest() instead.

protected  void setUpHttpUnitOptions()
          Override this to set up any HttpUnitOptions that must be set before the WebTester is instantiated.
protected  void setUpTest()
          Setup for an actual test
protected  boolean shouldSkipSetup()
           
protected  void tearDown()
          This will logout of JIRA and then produce test artifacts for any test that throws exceptions.
protected  void tearDownTest()
          individual test tear down
protected  XPathLocator xpath(String xpathExpression)
          A shortcut method to allow quick creation of XPathLocators
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tester

protected net.sourceforge.jwebunit.WebTester tester
Use this field to access the WebTester in play


environmentData

protected com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData
Use this field to access the JIRAEnvironmentData in play


navigation

protected Navigation navigation
Use this field to access the Navigation helper in play


form

protected Form form
Used to set form values in tests.


page

protected HtmlPage page
Used to find out about the current HTML page that the test is on.


parse

protected Parser parse
Use this field to access the Parser helper in play


administration

protected Administration administration
Use this field to access the Administration helper in play


assertions

protected Assertions assertions
Use this field to access the Assertions helper in play


text

protected TextAssertions text
Use this field to access the TextAssertions helper in play


log

protected FuncTestLogger log
Use this field to access the FuncTestLogger in play


locator

protected LocatorFactory locator
Use this field to access the LocatorFactory in play


oldway_consider_porting

protected JIRAWebTest oldway_consider_porting
Deprecated. think about why you need use the old ways
Use this field to access the JIRAWebTest test case in play. Access is provided to the old way of writing functiona; test cases but its use is not encouraged. Please consider porting the required function into the new framework.


funcTestHelperFactory

protected FuncTestHelperFactory funcTestHelperFactory
Factory for getting access to useful Func Test objects

Constructor Detail

FuncTestCase

public FuncTestCase()
Method Detail

setUpTest

protected void setUpTest()
Setup for an actual test


setUpHttpUnitOptions

protected void setUpHttpUnitOptions()
Override this to set up any HttpUnitOptions that must be set before the WebTester is instantiated.


setUp

protected final void setUp()

The default and final setUp() method will connect to JIRA and make sure its initialised and ready to go.

For individual test setUp, override setUpTest() instead.

Overrides:
setUp in class junit.framework.TestCase

shouldSkipSetup

protected boolean shouldSkipSetup()

tearDown

protected final void tearDown()
This will logout of JIRA and then produce test artifacts for any test that throws exceptions.

For individual test tearDown, override tearDownTest() instead.

Overrides:
tearDown in class junit.framework.TestCase

tearDownTest

protected void tearDownTest()
individual test tear down


getEnvironmentData

public com.atlassian.jira.webtests.util.JIRAEnvironmentData getEnvironmentData()

setEnvironmentData

public void setEnvironmentData(com.atlassian.jira.webtests.util.JIRAEnvironmentData environmentData)
Specified by:
setEnvironmentData in interface com.atlassian.jira.webtests.util.EnvironmentAware

getTester

public net.sourceforge.jwebunit.WebTester getTester()

getAssertions

public Assertions getAssertions()

getWebClientListener

public FuncTestWebClientListener getWebClientListener()

log

public void log(Object logData)
Description copied from interface: FuncTestLogger
This will data via a String.valueOf(logData) in the specified object.

Specified by:
log in interface FuncTestLogger
Parameters:
logData - the objct to log via String.valueOf().

log

public void log(Throwable t)
Specified by:
log in interface FuncTestLogger

xpath

protected XPathLocator xpath(String xpathExpression)
A shortcut method to allow quick creation of XPathLocators

Parameters:
xpathExpression - the xpath expression
Returns:
an XPathLocator

runTest

protected void runTest()
                throws Throwable
Overridden so we can "record" exceptions that may happen during test execution. This is the method that all JUnit run methods end up calling.

Overrides:
runTest in class junit.framework.TestCase
Throws:
Throwable
See Also:
TestCase.runTest()

runBare

public void runBare()
             throws Throwable
The outer most edge of a JUnit Test. All things start and end here.

Overrides:
runBare in class junit.framework.TestCase
Throws:
Throwable
See Also:
TestCase.runBare()


Copyright © 2002-2011 Atlassian. All Rights Reserved.