|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjunit.framework.Assert
junit.framework.TestCase
org.jvnet.hudson.test.HudsonTestCase
public abstract class HudsonTestCase
Base class for all Jenkins test cases.
Nested Class Summary | |
---|---|
static class |
HudsonTestCase.BreakException
|
static class |
HudsonTestCase.ComputerListenerImpl
|
static class |
HudsonTestCase.TestBuildWrapper
|
class |
HudsonTestCase.WebClient
Extends WebClient and provide convenience methods
for accessing Hudson. |
Nested classes/interfaces inherited from interface hudson.ExtensionPoint |
---|
ExtensionPoint.LegacyInstancesAreScopedToHudson |
Field Summary | |
---|---|
ComputerConnectorTester |
computerConnectorTester
|
protected String |
contextPath
Where in the Server is Hudson deployed? |
protected TestEnvironment |
env
|
protected File |
explodedWarDir
The directory where a war file gets exploded. |
protected HudsonHomeLoader |
homeLoader
|
Hudson |
hudson
Points to the same object as jenkins does. |
Jenkins |
jenkins
|
protected JavaScriptDebugger |
jsDebugger
JavaScript "debugger" that provides you information about the JavaScript call stack and the current values of the local variables in those stack frame. |
protected int |
localPort
TCP/IP port that the server is listening on. |
static org.mortbay.jetty.MimeTypes |
MIME_TYPES
|
protected static List<ToolProperty<?>> |
NO_PROPERTIES
|
protected List<Recipe.Runner> |
recipes
|
protected org.mortbay.jetty.Server |
server
|
static int |
SLAVE_DEBUG_PORT
Specify this to a TCP/IP port number to have slaves started with the debugger. |
protected List<LenientRunnable> |
tearDowns
Runnable s to be invoked at tearDown() . |
int |
timeout
Number of seconds until the test times out. |
boolean |
useLocalPluginManager
Deprecated. Use pluginManager |
Constructor Summary | |
---|---|
protected |
HudsonTestCase()
|
protected |
HudsonTestCase(String name)
|
Method Summary | ||
---|---|---|
void |
assertAllImageLoadSuccessfully(com.gargoylesoftware.htmlunit.html.HtmlPage p)
Makes sure that all the images in the page loads successfully. |
|
|
assertBuildStatus(Result status,
R r)
Asserts that the outcome of the build is a specific outcome. |
|
|
assertBuildStatusSuccess(Future<? extends R> r)
|
|
|
assertBuildStatusSuccess(R r)
|
|
void |
assertEqualBeans(Object lhs,
Object rhs,
String properties)
Asserts that two JavaBeans are equal as far as the given list of properties are concerned. |
|
void |
assertEqualDataBoundBeans(List<?> lhs,
List<?> rhs)
Makes sure that two collections are identical via assertEqualDataBoundBeans(Object, Object) |
|
void |
assertEqualDataBoundBeans(Object lhs,
Object rhs)
Works like assertEqualBeans(Object, Object, String) but figure out the properties
via DataBoundConstructor |
|
void |
assertGoodStatus(com.gargoylesoftware.htmlunit.Page page)
Assert that the specified page can be served with a "good" HTTP status, eg, the page is not missing and can be served without a server error |
|
void |
assertHelpExists(Class<? extends Describable> type,
String properties)
Asserts that help files exist for the specified properties of the given instance. |
|
void |
assertLogContains(String substring,
Run run)
Asserts that the console output of the build contains the given substring. |
|
void |
assertLogNotContains(String substring,
Run run)
Asserts that the console output of the build does not contain the given substring. |
|
void |
assertStringContains(String haystack,
String needle)
|
|
void |
assertStringContains(String message,
String haystack,
String needle)
|
|
void |
assertXPath(com.gargoylesoftware.htmlunit.html.DomNode page,
String xpath)
Asserts that the XPath matches the contents of a DomNode page. |
|
void |
assertXPath(com.gargoylesoftware.htmlunit.html.HtmlPage page,
String xpath)
Asserts that the XPath matches. |
|
void |
assertXPathResultsContainText(com.gargoylesoftware.htmlunit.html.DomNode page,
String xpath,
String needle)
|
|
void |
assertXPathValue(com.gargoylesoftware.htmlunit.html.DomNode page,
String xpath,
String expectedValue)
|
|
void |
assertXPathValueContains(com.gargoylesoftware.htmlunit.html.DomNode page,
String xpath,
String needle)
|
|
FreeStyleBuild |
buildAndAssertSuccess(FreeStyleProject job)
Avoids need for cumbersome this.<J,R>buildAndAssertSuccess(...) type hints under JDK 7 javac (and supposedly also IntelliJ). |
|
|
buildAndAssertSuccess(J job)
|
|
MavenBuild |
buildAndAssertSuccess(MavenModule job)
|
|
MavenModuleSetBuild |
buildAndAssertSuccess(MavenModuleSet job)
|
|
protected void |
configRoundtrip()
Hits the Hudson system configuration and submits without any modification. |
|
protected
|
configRoundtrip(B before)
Performs a configuration round-trip testing for a builder. |
|
protected
|
configRoundtrip(C before)
|
|
protected
|
configRoundtrip(N node)
|
|
protected
|
configRoundtrip(P job)
|
|
protected
|
configRoundtrip(P job)
Loads a configuration page and submits it without any modifications, to perform a round-trip configuration test. |
|
protected
|
configRoundtrip(P before)
Performs a configuration round-trip testing for a publisher. |
|
protected User |
configRoundtrip(User u)
|
|
protected
|
configRoundtrip(V view)
|
|
protected hudson.tasks.Ant.AntInstallation |
configureDefaultAnt()
Extracts Ant and configures it. |
|
protected Maven.MavenInstallation |
configureDefaultMaven()
Returns the older default Maven, while still allowing specification of other bundled Mavens. |
|
protected Maven.MavenInstallation |
configureDefaultMaven(String mavenVersion,
int mavenReqVersion)
Locates Maven2 and configure that as the only Maven in the system. |
|
protected Maven.MavenInstallation |
configureMaven3()
|
|
protected void |
configureUpdateCenter()
Configures the update center setting for the test. |
|
protected org.mortbay.jetty.security.UserRealm |
configureUserRealm()
Configures a security realm for a test. |
|
CommandLauncher |
createComputerLauncher(EnvVars env)
Creates a CommandLauncher for launching a slave locally. |
|
SecurityRealm |
createDummySecurityRealm()
Creates a test SecurityRealm that recognizes username==password as valid. |
|
protected FreeStyleProject |
createFreeStyleProject()
|
|
protected FreeStyleProject |
createFreeStyleProject(String name)
|
|
protected Launcher.LocalLauncher |
createLocalLauncher()
Creates Launcher.LocalLauncher . |
|
protected MatrixProject |
createMatrixProject()
|
|
protected MatrixProject |
createMatrixProject(String name)
|
|
protected MavenModuleSet |
createMavenProject()
Creates a empty Maven project with an unique name. |
|
protected MavenModuleSet |
createMavenProject(String name)
Creates a empty Maven project with the given name. |
|
DumbSlave |
createOnlineSlave()
Create a new slave on the local host and wait for it to come onilne before returning. |
|
DumbSlave |
createOnlineSlave(Label l)
Create a new slave on the local host and wait for it to come onilne before returning. |
|
DumbSlave |
createOnlineSlave(Label l,
EnvVars env)
Create a new slave on the local host and wait for it to come online before returning |
|
PretendSlave |
createPretendSlave(FakeLauncher faker)
|
|
DumbSlave |
createSlave()
|
|
DumbSlave |
createSlave(EnvVars env)
|
|
DumbSlave |
createSlave(Label l)
Creates and launches a new slave on the local host. |
|
DumbSlave |
createSlave(Label l,
EnvVars env)
|
|
DumbSlave |
createSlave(String labels,
EnvVars env)
Creates a slave with certain additional environment variables |
|
DumbSlave |
createSlave(String nodeName,
String labels,
EnvVars env)
|
|
TaskListener |
createTaskListener()
Creates a TaskListener connected to stdout. |
|
File |
createTmpDir()
Allocates a new temporary directory for the duration of this test. |
|
protected String |
createUniqueProjectName()
|
|
HudsonTestCase.WebClient |
createWebClient()
This is to assist Groovy test clients who are incapable of instantiating the inner classes properly. |
|
protected javax.servlet.ServletContext |
createWebServer()
Prepares a webapp hosting environment to get ServletContext implementation
that we need for testing. |
|
|
executeOnServer(Callable<V> c)
Executes the given closure on the server, by the servlet request handling thread, in the context of an HTTP request. |
|
protected Constructor<?> |
findDataBoundConstructor(Class<?> c)
|
|
protected com.gargoylesoftware.htmlunit.html.HtmlInput |
findPreviousInputElement(com.gargoylesoftware.htmlunit.html.HtmlElement current,
String name)
|
|
protected
|
get(Class<T> d)
Gets the descriptor instance of the current Hudson by its type. |
|
protected com.gargoylesoftware.htmlunit.html.HtmlButton |
getButtonByCaption(com.gargoylesoftware.htmlunit.html.HtmlForm f,
String s)
|
|
String |
getDisplayName()
Gets the string to be displayed. |
|
String |
getIconFileName()
Gets the file name of the icon. |
|
protected static String |
getLog(Run run)
Get entire log file (this method is deprecated in hudson.model.Run, but in tests it is OK to load entire log). |
|
URL |
getURL()
Returns the URL of the webapp top page. |
|
String |
getUrlName()
Gets the URL path name. |
|
void |
interactiveBreak()
Blocks until the ENTER key is hit. |
|
boolean |
isGoodHttpStatus(int status)
Determines whether the specified HTTP status code is generally "good" |
|
protected boolean |
isSomethingHappening()
Returns true if Hudson is building something or going to build something. |
|
protected
|
last(List<T> items)
Returns the last item in the list. |
|
protected Hudson |
newHudson()
Creates a new instance of Jenkins . |
|
protected void |
pause()
Pauses the execution until ENTER is hit in the console. |
|
protected void |
recipe()
Called during the setUp() to give a test case an opportunity to
control the test environment in which Hudson is run. |
|
protected void |
recipeLoadCurrentPlugin()
If this test harness is launched for a Jenkins plugin, locate the target/test-classes/the.jpl and add a recipe to install that to the new Jenkins. |
|
void |
runBare()
|
|
protected void |
runTest()
|
|
protected com.gargoylesoftware.htmlunit.Page |
search(String q)
Performs a search from the search box. |
|
void |
setPluginManager(PluginManager pluginManager)
Sets the PluginManager to be used when creating a new Jenkins instance. |
|
protected void |
setQuietPeriod(int qp)
|
|
protected void |
setUp()
|
|
protected void |
setUpTimeout()
|
|
com.gargoylesoftware.htmlunit.html.HtmlPage |
submit(com.gargoylesoftware.htmlunit.html.HtmlForm form)
Submits the form. |
|
com.gargoylesoftware.htmlunit.html.HtmlPage |
submit(com.gargoylesoftware.htmlunit.html.HtmlForm form,
String name)
Submits the form by clikcing the submit button of the given name. |
|
protected void |
tearDown()
|
|
protected void |
waitUntilNoActivity()
Waits until Hudson finishes building everything, including those in the queue. |
|
protected void |
waitUntilNoActivityUpTo(int timeout)
Waits until Jenkins finishes building everything, including those builds in the queue, or fail the test if the specified timeout milliseconds is exceeded. |
|
HudsonTestCase |
with(HudsonHomeLoader homeLoader)
|
|
HudsonTestCase |
withExistingHome(File source)
|
|
HudsonTestCase |
withNewHome()
|
|
HudsonTestCase |
withPresetData(String name)
Declares that this test case expects to start with one of the preset data sets. |
Methods inherited from class junit.framework.TestCase |
---|
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, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, setName, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public Hudson hudson
jenkins
does.
public Jenkins jenkins
protected final TestEnvironment env
protected HudsonHomeLoader homeLoader
protected int localPort
protected org.mortbay.jetty.Server server
protected String contextPath
Server
is Hudson deployed?
Just like ServletContext#getContextPath()
, starts with '/' but doesn't end with '/'.
protected List<LenientRunnable> tearDowns
Runnable
s to be invoked at tearDown()
.
protected List<Recipe.Runner> recipes
protected JavaScriptDebugger jsDebugger
Unlike Java debugger, which you as a human interfaces directly and interactively, this JavaScript debugger is to be interfaced by your program (or through the expression evaluation capability of your Java debugger.)
public boolean useLocalPluginManager
pluginManager
WithPlugin
annotations, set to true.
This will cause a fresh PluginManager
to be created for this test.
Leaving this to false enables the test harness to use a pre-loaded plugin manager,
which runs faster.
public int timeout
public ComputerConnectorTester computerConnectorTester
protected File explodedWarDir
protected static final List<ToolProperty<?>> NO_PROPERTIES
public static int SLAVE_DEBUG_PORT
public static final org.mortbay.jetty.MimeTypes MIME_TYPES
Constructor Detail |
---|
protected HudsonTestCase(String name)
protected HudsonTestCase()
Method Detail |
---|
public void runBare() throws Throwable
runBare
in class junit.framework.TestCase
Throwable
protected void setUp() throws Exception
setUp
in class junit.framework.TestCase
Exception
protected void setUpTimeout()
protected void configureUpdateCenter() throws Exception
Exception
protected void tearDown() throws Exception
tearDown
in class junit.framework.TestCase
Exception
protected void runTest() throws Throwable
runTest
in class junit.framework.TestCase
Throwable
public String getIconFileName()
Action
getIconFileName
in interface Action
If an absolute file name that starts from '/' is returned (like "/plugin/foo/abc.gif'), then it will be interpreted as a path from the context root of Jenkins. This is useful to pick up image files from a plugin.
Finally, return null to hide it from the task list. This is normally not very useful, but this can be used for actions that only contribute floatBox.jelly and no task list item. The other case where this is useful is to avoid showing links that require a privilege when the user is anonymous.
Functions.isAnonymous()
,
Functions.getIconFilePath(Action)
public String getDisplayName()
Action
getDisplayName
in interface Action
getDisplayName
in interface ModelObject
public String getUrlName()
Action
tions For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.
This method should return a string that's unique among other Action
s.
The returned string can be an absolute URL, like "http://www.sun.com/", which is useful for directly connecting to external systems.
If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.
getUrlName
in interface Action
Action.getIconFileName()
.Functions.getActionUrl(String, Action)
protected Hudson newHudson() throws Exception
Jenkins
. If the derived class wants to create it in a different way,
you can override it.
Exception
public void setPluginManager(PluginManager pluginManager)
PluginManager
to be used when creating a new Jenkins
instance.
pluginManager
- null to let Jenkins create a new instance of default plugin manager, like it normally does when running as a webapp outside the test.protected javax.servlet.ServletContext createWebServer() throws Exception
ServletContext
implementation
that we need for testing.
Exception
protected org.mortbay.jetty.security.UserRealm configureUserRealm()
protected Maven.MavenInstallation configureDefaultMaven() throws Exception
Exception
protected Maven.MavenInstallation configureMaven3() throws Exception
Exception
protected Maven.MavenInstallation configureDefaultMaven(String mavenVersion, int mavenReqVersion) throws Exception
Exception
protected hudson.tasks.Ant.AntInstallation configureDefaultAnt() throws Exception
Exception
protected FreeStyleProject createFreeStyleProject() throws IOException
IOException
protected FreeStyleProject createFreeStyleProject(String name) throws IOException
IOException
protected MatrixProject createMatrixProject() throws IOException
IOException
protected MatrixProject createMatrixProject(String name) throws IOException
IOException
protected MavenModuleSet createMavenProject() throws IOException
IOException
configureDefaultMaven()
protected MavenModuleSet createMavenProject(String name) throws IOException
IOException
configureDefaultMaven()
protected String createUniqueProjectName()
protected Launcher.LocalLauncher createLocalLauncher()
Launcher.LocalLauncher
. Useful for launching processes.
public File createTmpDir() throws IOException
IOException
public DumbSlave createSlave() throws Exception
Exception
public DumbSlave createSlave(Label l) throws Exception
Exception
public SecurityRealm createDummySecurityRealm()
SecurityRealm
that recognizes username==password as valid.
public URL getURL() throws IOException
IOException
public DumbSlave createSlave(EnvVars env) throws Exception
Exception
public DumbSlave createSlave(Label l, EnvVars env) throws Exception
Exception
public DumbSlave createSlave(String labels, EnvVars env) throws Exception
Exception
public DumbSlave createSlave(String nodeName, String labels, EnvVars env) throws Exception
Exception
public PretendSlave createPretendSlave(FakeLauncher faker) throws Exception
Exception
public CommandLauncher createComputerLauncher(EnvVars env) throws URISyntaxException, MalformedURLException
CommandLauncher
for launching a slave locally.
env
- Environment variables to add to the slave process. Can be null.
URISyntaxException
MalformedURLException
public DumbSlave createOnlineSlave() throws Exception
Exception
public DumbSlave createOnlineSlave(Label l) throws Exception
Exception
public DumbSlave createOnlineSlave(Label l, EnvVars env) throws Exception
Exception
public void interactiveBreak() throws Exception
Exception
protected <T> T last(List<T> items)
protected void pause() throws IOException
This is often very useful so that you can interact with Hudson from an browser, while developing a test case.
IOException
protected com.gargoylesoftware.htmlunit.Page search(String q) throws Exception
Exception
protected void configRoundtrip() throws Exception
Exception
protected <P extends Job> P configRoundtrip(P job) throws Exception
See http://wiki.jenkins-ci.org/display/JENKINS/Unit+Test#UnitTest-Configurationroundtriptesting
Exception
protected <P extends Item> P configRoundtrip(P job) throws Exception
Exception
protected <B extends Builder> B configRoundtrip(B before) throws Exception
Exception
protected <P extends Publisher> P configRoundtrip(P before) throws Exception
Exception
protected <C extends ComputerConnector> C configRoundtrip(C before) throws Exception
Exception
protected User configRoundtrip(User u) throws Exception
Exception
protected <N extends Node> N configRoundtrip(N node) throws Exception
Exception
protected <V extends View> V configRoundtrip(V view) throws Exception
Exception
public <R extends Run> R assertBuildStatus(Result status, R r) throws Exception
Exception
public boolean isGoodHttpStatus(int status)
public void assertGoodStatus(com.gargoylesoftware.htmlunit.Page page)
page
- public <R extends Run> R assertBuildStatusSuccess(R r) throws Exception
Exception
public <R extends Run> R assertBuildStatusSuccess(Future<? extends R> r) throws Exception
Exception
public <J extends AbstractProject<J,R>,R extends AbstractBuild<J,R>> R buildAndAssertSuccess(J job) throws Exception
Exception
public FreeStyleBuild buildAndAssertSuccess(FreeStyleProject job) throws Exception
this.<J,R>buildAndAssertSuccess(...)
type hints under JDK 7 javac (and supposedly also IntelliJ).
Exception
public MavenModuleSetBuild buildAndAssertSuccess(MavenModuleSet job) throws Exception
Exception
public MavenBuild buildAndAssertSuccess(MavenModule job) throws Exception
Exception
public void assertLogContains(String substring, Run run) throws Exception
Exception
public void assertLogNotContains(String substring, Run run) throws Exception
Exception
protected static String getLog(Run run) throws IOException
IOException
public void assertXPath(com.gargoylesoftware.htmlunit.html.HtmlPage page, String xpath)
public void assertXPath(com.gargoylesoftware.htmlunit.html.DomNode page, String xpath)
page
- xpath
- public void assertXPathValue(com.gargoylesoftware.htmlunit.html.DomNode page, String xpath, String expectedValue)
public void assertXPathValueContains(com.gargoylesoftware.htmlunit.html.DomNode page, String xpath, String needle)
public void assertXPathResultsContainText(com.gargoylesoftware.htmlunit.html.DomNode page, String xpath, String needle)
public void assertAllImageLoadSuccessfully(com.gargoylesoftware.htmlunit.html.HtmlPage p)
public void assertStringContains(String message, String haystack, String needle)
public void assertStringContains(String haystack, String needle)
public void assertHelpExists(Class<? extends Describable> type, String properties) throws Exception
type
- The describable class type that should have the associated help files.properties
- ','-separated list of properties whose help files should exist.
Exception
public com.gargoylesoftware.htmlunit.html.HtmlPage submit(com.gargoylesoftware.htmlunit.html.HtmlForm form) throws Exception
HtmlForm.submit()
doesn't work correctly due to the use of YUI in Hudson.
Exception
public com.gargoylesoftware.htmlunit.html.HtmlPage submit(com.gargoylesoftware.htmlunit.html.HtmlForm form, String name) throws Exception
name
- This corresponds to the @name of <f:submit />
Exception
protected com.gargoylesoftware.htmlunit.html.HtmlInput findPreviousInputElement(com.gargoylesoftware.htmlunit.html.HtmlElement current, String name)
protected com.gargoylesoftware.htmlunit.html.HtmlButton getButtonByCaption(com.gargoylesoftware.htmlunit.html.HtmlForm f, String s)
public TaskListener createTaskListener()
TaskListener
connected to stdout.
public void assertEqualBeans(Object lhs, Object rhs, String properties) throws Exception
This method takes two objects that have properties (getXyz, isXyz, or just the public xyz field),
and makes sure that the property values for each given property are equals (by using TestCase.assertEquals(Object, Object)
)
Property values can be null on both objects, and that is OK, but passing in a property that doesn't exist will fail an assertion.
This method is very convenient for comparing a large number of properties on two objects, for example to verify that the configuration is identical after a config screen roundtrip.
lhs
- One of the two objects to be compared.rhs
- The other object to be comparedproperties
- ','-separated list of property names that are compared.
Exception
protected void setQuietPeriod(int qp)
public void assertEqualDataBoundBeans(Object lhs, Object rhs) throws Exception
assertEqualBeans(Object, Object, String)
but figure out the properties
via DataBoundConstructor
Exception
public void assertEqualDataBoundBeans(List<?> lhs, List<?> rhs) throws Exception
assertEqualDataBoundBeans(Object, Object)
Exception
protected Constructor<?> findDataBoundConstructor(Class<?> c)
protected <T extends Descriptor<?>> T get(Class<T> d)
protected boolean isSomethingHappening()
protected void waitUntilNoActivity() throws Exception
This method uses a default time out to prevent infinite hang in the automated test execution environment.
Exception
protected void waitUntilNoActivityUpTo(int timeout) throws Exception
Exception
protected void recipe() throws Exception
setUp()
to give a test case an opportunity to
control the test environment in which Hudson is run.
One could override this method and call a series of withXXX
methods,
or you can use the annotations with Recipe
meta-annotation.
Exception
protected void recipeLoadCurrentPlugin() throws Exception
This file is created by maven-hpi-plugin at the testCompile phase when the current packaging is hpi.
Exception
public HudsonTestCase withNewHome()
public HudsonTestCase withExistingHome(File source) throws Exception
Exception
public HudsonTestCase withPresetData(String name)
test/src/main/preset-data/
for available datasets and what they mean.
public HudsonTestCase with(HudsonHomeLoader homeLoader)
public <V> V executeOnServer(Callable<V> c) throws Exception
In HudsonTestCase
, a thread that's executing the test code is different from the thread
that carries out HTTP requests made through HudsonTestCase.WebClient
. But sometimes you want to
make assertions and other calls with side-effect from within the request handling thread.
This method allows you to do just that. It is useful for testing some methods that
require StaplerRequest
and StaplerResponse
, or getting the credential
of the current user (via Jenkins.getAuthentication()
, and so on.
c
- The closure to be executed on the server.
HudsonTestCase.BreakException
- If a closure throws any exception, that exception will be carried forward.
Exception
public HudsonTestCase.WebClient createWebClient()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |