mirror of https://github.com/apache/archiva.git
[MRM-1164] Add Selenium tests for virtual repositories and capture screen shots of failing tests.
Submitted by: Marecor Baclay git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@785892 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ea8c1fa4c9
commit
3a06b49407
|
@ -76,5 +76,23 @@ ARTIFACTID1=delete
|
|||
VERSION1=1.0
|
||||
PACKAGING1=jar
|
||||
ARTIFACTFILEPATH1=test
|
||||
# /home/cora/Documents/MAESTRO/installers/maestro-2.1.1/project-server/core/activation-1.1.jar
|
||||
REPOSITORYID1=internal
|
||||
|
||||
# REPOSITORIES
|
||||
# Manage Repositories
|
||||
MANAGED_IDENTIFIER=testing1
|
||||
MANAGED_NAME=Testing Managed Repository
|
||||
MANAGED_DIRECTORY=
|
||||
MANAGED_INDEX_DIRECTORY=
|
||||
MANAGED_TYPE=
|
||||
MANAGED_CRON=
|
||||
MANAGED_REPOPURGE_DAYSOLDERTHAN=
|
||||
MANAGED_REPOPURGE_RETENTIONCOUNT=
|
||||
|
||||
# Network Proxies
|
||||
NETWORKPROXY_IDENTIFIER=networkproxytest
|
||||
NETWORKPROXY_PROTOCOL=http
|
||||
NETWORKPROXY_HOSTNAME=
|
||||
NETWORKPROXY_PORT=8080
|
||||
NETWORKPROXY_USERNAME=admin
|
||||
NETWORKPROXY_PASSWORD=admin123
|
||||
|
|
|
@ -39,6 +39,8 @@ under the License.
|
|||
<include name= "search" />
|
||||
<include name= "browse" />
|
||||
<include name= "reports" />
|
||||
<include name= "virtualrepository" />
|
||||
<include name= "proxyconnectors" />
|
||||
</run>
|
||||
</groups>
|
||||
<packages>
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
package org.apache.archiva.web.test;
|
||||
|
||||
import org.apache.archiva.web.test.parent.AbstractRepositoryTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test( groups = { "virtualrepository" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
|
||||
public class VirtualRepositoryTest
|
||||
extends AbstractRepositoryTest
|
||||
{
|
||||
public void testAddRepositoryNullValue()
|
||||
{
|
||||
addRepositoryGroup( " " );
|
||||
assertTextPresent( "Identifier field is required." );
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "testWithCorrectUsernamePassword" } )
|
||||
public void testAddRepositoryValidValue()
|
||||
{
|
||||
addRepositoryGroup( "testing" );
|
||||
//assertAddedRepositoryLink( "testing" );
|
||||
assertTextPresent( "testing" );
|
||||
}
|
||||
|
||||
//@Test(dependsOnMethods = { "testAddRepositoryValidValue" } )
|
||||
public void testAddRepositoryToRepositoryGroup()
|
||||
{
|
||||
addRepositoryToRepositoryGroup( "testing", "internal" );
|
||||
assertTextPresent( "internal" );
|
||||
//clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" );
|
||||
//getSelenium().goBack();
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } )
|
||||
public void testDeleteRepositoryOfRepositoryGroup()
|
||||
{
|
||||
deleteRepositoryInRepositoryGroups();
|
||||
assertTextPresent( "Repository Groups" );
|
||||
assertTextNotPresent( "No Repository Groups Defined." );
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = { "testDeleteRepositoryOfRepositoryGroup" } )
|
||||
public void testDeleteRepositoryGroup()
|
||||
{
|
||||
deleteRepositoryGroup( "testing" );
|
||||
assertTextPresent( "No Repository Groups Defined." );
|
||||
}
|
||||
|
||||
/*@Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } )
|
||||
public void testCheckRepositoryGroup()
|
||||
{
|
||||
clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" );
|
||||
getSelenium().goBack();
|
||||
}*/
|
||||
}
|
|
@ -0,0 +1,318 @@
|
|||
package org.apache.archiva.web.test.parent;
|
||||
|
||||
public abstract class AbstractRepositoryTest
|
||||
extends AbstractArchivaTest
|
||||
{
|
||||
// Repository Groups
|
||||
public void goToRepositoryGroupsPage()
|
||||
{
|
||||
clickLinkWithText( "Repository Groups" );
|
||||
assertRepositoryGroupsPage();
|
||||
}
|
||||
|
||||
public void assertRepositoryGroupsPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Repository Groups" );
|
||||
assertTextPresent( "Administration - Repository Groups" );
|
||||
assertTextPresent( "Identifier*:" );
|
||||
assertElementPresent( "repositoryGroup.id" );
|
||||
assertButtonWithValuePresent( "Add Group" );
|
||||
assertTextPresent( "Repository Groups" );
|
||||
}
|
||||
|
||||
public void assertAddedRepositoryLink( String repositoryGroupName)
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Repository Groups" );
|
||||
String repositoryGroupUrlValue = "repository/" + repositoryGroupName + "/";
|
||||
String baseUrlValue = "archiva";
|
||||
String repositoryGroupLink = baseUrl.replaceFirst( baseUrlValue, repositoryGroupUrlValue);
|
||||
assertTextPresent( repositoryGroupLink );
|
||||
}
|
||||
|
||||
public void assertAddedRepositoryToRepositoryGroups( String repositoryName)
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Repository Groups" );
|
||||
assertTextPresent( repositoryName );
|
||||
assertTextPresent( "Archiva Managed Internal Repository" );
|
||||
assertAddedRepositoryLink( repositoryName );
|
||||
}
|
||||
|
||||
public void assertDeleteRepositoryGroupPage( String repositoryName)
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Admin: Delete Repository Group" );
|
||||
assertTextPresent( "WARNING: This operation can not be undone." );
|
||||
assertTextPresent( "Are you sure you want to delete the following repository group?" );
|
||||
assertTextPresent( "ID: " + repositoryName );
|
||||
assertButtonWithValuePresent( "Confirm" );
|
||||
assertButtonWithValuePresent( "Cancel" );
|
||||
}
|
||||
|
||||
public void addRepositoryGroup( String repoGroupName )
|
||||
{
|
||||
goToRepositoryGroupsPage();
|
||||
setFieldValue( "repositoryGroup.id", repoGroupName );
|
||||
clickButtonWithValue( "Add Group" );
|
||||
}
|
||||
|
||||
public void addRepositoryToRepositoryGroup( String repositoryGroupName, String repositoryName )
|
||||
{
|
||||
goToRepositoryGroupsPage();
|
||||
String s = getSelenium().getBodyText();
|
||||
if ( s.contains( "No Repository Groups Defined." ) )
|
||||
{
|
||||
setFieldValue( "repositoryGroup.id" , repositoryGroupName );
|
||||
clickButtonWithValue( "Add Group" );
|
||||
//assertAddedRepositoryLink( repositoryGroupName );
|
||||
|
||||
selectValue( "addRepositoryToGroup_repoId" , repositoryName );
|
||||
clickButtonWithValue( "Add Repository" );
|
||||
assertAddedRepositoryToRepositoryGroups( repositoryName );
|
||||
}
|
||||
else
|
||||
{
|
||||
//assertAddedRepositoryLink( repositoryGroupName );
|
||||
selectValue( "addRepositoryToGroup_repoId" , repositoryName );
|
||||
clickButtonWithValue( "Add Repository" );
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteRepositoryInRepositoryGroups()
|
||||
{
|
||||
getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[3]/div[1]/a/img" );
|
||||
}
|
||||
|
||||
public void deleteRepositoryGroup( String repositoryName )
|
||||
{
|
||||
//goToRepositoryGroupsPage();
|
||||
getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[1]/div/a/img" );
|
||||
waitPage();
|
||||
assertDeleteRepositoryGroupPage( repositoryName );
|
||||
clickButtonWithValue( "Confirm" );
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
// proxy connectors
|
||||
///////////////////////////////
|
||||
public void goToProxyConnectorsPage()
|
||||
{
|
||||
clickLinkWithText( "Proxy Connectors" );
|
||||
assertProxyConnectorsPage();
|
||||
}
|
||||
|
||||
public void assertProxyConnectorsPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Proxy Connectors" );
|
||||
assertTextPresent( "Administration - Proxy Connectors" );
|
||||
assertTextPresent( "Repository Proxy Connectors" );
|
||||
assertTextPresent( "internal" );
|
||||
assertTextPresent( "Archiva Managed Internal Repository" );
|
||||
assertTextPresent( "Proxy Connector" );
|
||||
assertTextPresent( "Central Repository" );
|
||||
assertTextPresent( "Java.net Repository for Maven 2" );
|
||||
}
|
||||
|
||||
public void assertAddProxyConnectorPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Admin: Add Proxy Connector" );
|
||||
assertTextPresent( "Admin: Add Proxy Connector" );
|
||||
String proxy = "Network Proxy*:,Managed Repository*:,Remote Repository*:,Policies:,Return error when:,On remote error:,Releases:,Snapshots:,Checksum:,Cache failures:,Properties:,No properties have been set.,Black List:,No black list patterns have been set.,White List:,No white list patterns have been set.";
|
||||
String[] arrayProxy = proxy.split( "," );
|
||||
for ( String arrayproxy : arrayProxy )
|
||||
assertTextPresent( arrayproxy );
|
||||
/*String proxyElements = "addProxyConnector_connector_proxyId,addProxyConnector_connector_sourceRepoId,addProxyConnector_connector_targetRepoId,policy_propagate-errors-on-update,policy_propagate-errors,policy_releases,policy_snapshots,policy_checksum,policy_cache-failures,propertiesEntry,propertiesValue,blackListEntry,whiteListEntry";
|
||||
String[] arrayProxyElements = proxyElements.split( "," );
|
||||
for ( String arrayproxyelements : arrayProxyElements )
|
||||
assertTextPresent( arrayproxyelements );*/
|
||||
assertButtonWithValuePresent( "Add Property" );
|
||||
assertButtonWithValuePresent( "Add Pattern" );
|
||||
assertButtonWithValuePresent( "Add Proxy Connector" );
|
||||
}
|
||||
|
||||
// this only fills in the values of required fields in adding Proxy Connectors
|
||||
public void addProxyConnector( String networkProxy, String managedRepo, String remoteRepo )
|
||||
{
|
||||
goToProxyConnectorsPage();
|
||||
clickLinkWithText( "Add" );
|
||||
assertAddProxyConnectorPage();
|
||||
selectValue( "connector.proxyId" , networkProxy );
|
||||
selectValue( "connector.sourceRepoId" , managedRepo );
|
||||
selectValue( "connector.targetRepoId" , remoteRepo );
|
||||
}
|
||||
|
||||
public void deleteProxyConnector()
|
||||
{
|
||||
goToProxyConnectorsPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div[2]/div[1]/div[2]/div[1]/a[3]/img" );
|
||||
assertPage( "Apache Archiva \\ Admin: Delete Proxy Connectors" );
|
||||
clickButtonWithValue( "Delete" );
|
||||
assertPage( "Apache Archiva \\ Administration - Proxy Connectors" );
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
// network proxies
|
||||
///////////////////////////////
|
||||
public void goToNetworkProxiesPage()
|
||||
{
|
||||
clickLinkWithText( "Network Proxies" );
|
||||
assertNetworkProxiesPage();
|
||||
}
|
||||
|
||||
public void assertNetworkProxiesPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Network Proxies" );
|
||||
assertTextPresent( "Administration - Network Proxies" );
|
||||
assertTextPresent( "Network Proxies" );
|
||||
assertLinkPresent( "Add Network Proxy" );
|
||||
}
|
||||
|
||||
public void assertAddNetworkProxy()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Admin: Add Network Proxy" );
|
||||
assertTextPresent( "Admin: Add Network Proxy" );
|
||||
assertTextPresent( "Add network proxy:" );
|
||||
assertTextPresent( "Identifier*:" );
|
||||
assertTextPresent( "Protocol*:" );
|
||||
assertTextPresent( "Hostname*:" );
|
||||
assertTextPresent( "Port*:" );
|
||||
assertTextPresent( "Username:" );
|
||||
assertTextPresent( "Password:" );
|
||||
assertButtonWithValuePresent( "Save Network Proxy" );
|
||||
}
|
||||
|
||||
public void addNetworkProxyWithAccount( String identifier, String protocol, String hostname, String port, String username, String password )
|
||||
{
|
||||
goToNetworkProxiesPage();
|
||||
clickLinkWithText( "Add Network Proxy" );
|
||||
assertAddNetworkProxy();
|
||||
setFieldValue( "proxy.id" , identifier );
|
||||
setFieldValue( "proxy.protocol" , protocol );
|
||||
setFieldValue( "proxy.host" , hostname );
|
||||
setFieldValue( "proxy.port" , port );
|
||||
setFieldValue( "proxy.username" , username );
|
||||
setFieldValue( "proxy.password" , password );
|
||||
clickButtonWithValue( "Save Network Proxy" );
|
||||
}
|
||||
|
||||
public void editNetworkProxies( String fieldName, String value)
|
||||
{
|
||||
goToNetworkProxiesPage();
|
||||
clickLinkWithText( "Edit Network Proxy" );
|
||||
setFieldValue( fieldName, value);
|
||||
clickButtonWithValue( "Save Network Proxy" );
|
||||
}
|
||||
|
||||
public void deleteNetworkProxy()
|
||||
{
|
||||
goToNetworkProxiesPage();
|
||||
clickLinkWithText( "Delete Network Proxy" );
|
||||
assertPage( "Apache Archiva \\ Admin: Delete Network Proxy" );
|
||||
clickButtonWithValue( "Delete" );
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
// repositories
|
||||
///////////////////////////////
|
||||
public void goToRepositoriesPage()
|
||||
{
|
||||
clickLinkWithText( "Repositories" );
|
||||
assertRepositoriesPage();
|
||||
}
|
||||
|
||||
public void assertRepositoriesPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Administration - Repositories" );
|
||||
assertTextPresent( "Administration - Repositories" );
|
||||
assertTextPresent( "Managed Repositories" );
|
||||
assertTextPresent( "Remote Repositories" );
|
||||
}
|
||||
|
||||
// remote repositories
|
||||
public void assertAddRemoteRepository()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Admin: Add Remote Repository" );
|
||||
String remote = "Identifier*:,Name*:,URL*:,Username:,Password:,Timeout in seconds:,Type:";
|
||||
String[] arrayRemote = remote.split( "," );
|
||||
for ( String arrayremote : arrayRemote )
|
||||
assertTextPresent( arrayremote );
|
||||
String remoteElements = "addRemoteRepository_repository_id,addRemoteRepository_repository_name,addRemoteRepository_repository_url,addRemoteRepository_repository_username,addRemoteRepository_repository_password,addRemoteRepository_repository_timeout,addRemoteRepository_repository_layout";
|
||||
String[] arrayRemoteElements = remoteElements.split( "," );
|
||||
for ( String arrayremotelement : arrayRemoteElements )
|
||||
assertElementPresent( arrayremotelement );
|
||||
}
|
||||
|
||||
public void assertDeleteRemoteRepositoryPage()
|
||||
{
|
||||
assertPage( "Apache Archiva \\ Admin: Delete Remote Repository" );
|
||||
assertTextPresent( "Admin: Delete Remote Repository" );
|
||||
assertTextPresent( "WARNING: This operation can not be undone." );
|
||||
assertTextPresent( "Are you sure you want to delete the following remote repository?" );
|
||||
assertButtonWithValuePresent( "Confirm" );
|
||||
assertButtonWithValuePresent( "Cancel" );
|
||||
}
|
||||
|
||||
public void addRemoteRepository( String identifier, String name, String url, String username, String password, String timeout, String type )
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/a" );
|
||||
assertAddRemoteRepository();
|
||||
setFieldValue( "addRemoteRepository_repository_id" , identifier );
|
||||
setFieldValue( "addRemoteRepository_repository_name" , name );
|
||||
setFieldValue( "addRemoteRepository_repository_url" , url );
|
||||
setFieldValue( "addRemoteRepository_repository_username" , username );
|
||||
setFieldValue( "addRemoteRepository_repository_password" , password );
|
||||
setFieldValue( "addRemoteRepository_repository_timeout" , timeout );
|
||||
selectValue( "addRemoteRepository_repository_layout" , type );
|
||||
clickButtonWithValue( "Add Repository" );
|
||||
}
|
||||
|
||||
public void deleteRemoteRepository()
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[2]" );
|
||||
assertDeleteRemoteRepositoryPage();
|
||||
clickButtonWithValue( "Confirm" );
|
||||
}
|
||||
|
||||
public void editRemoteRepository( String fieldName, String value)
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[1]" );
|
||||
setFieldValue( fieldName, value );
|
||||
clickButtonWithValue( "Update Repository" );
|
||||
}
|
||||
|
||||
// managed repositories
|
||||
public void addManagedRepository( String identifier, String name, String directory, String indexDirectory, String type, String cron, String daysOlder, String retentionCount )
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithText( "Add" );
|
||||
setFieldValue( "repository.id" , identifier );
|
||||
setFieldValue( "repository.name" , name );
|
||||
setFieldValue( "repository.location" , directory );
|
||||
setFieldValue( "repository.indexDir" , indexDirectory );
|
||||
selectValue( "repository.layout", type );
|
||||
setFieldValue( "repository.refreshCronExpression" , cron );
|
||||
setFieldValue( "repository.daysOlder" , daysOlder );
|
||||
setFieldValue( "repository.retentionCount" , retentionCount );
|
||||
//TODO
|
||||
clickButtonWithValue( "Add Repository" );
|
||||
}
|
||||
|
||||
public void editManagedRepository( String fieldName, String value )
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/div[1]/a[1]/img" );
|
||||
assertPage( "Apache Archiva \\ Admin: Edit Managed Repository" );
|
||||
setFieldValue(fieldName, value);
|
||||
//TODO
|
||||
clickButtonWithValue( "Update Repository" );
|
||||
}
|
||||
|
||||
public void deleteManagedRepository()
|
||||
{
|
||||
goToRepositoriesPage();
|
||||
clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/div[1]/a[2]" );
|
||||
assertPage( "Apache Archiva \\ Admin: Delete Managed Repository" );
|
||||
clickButtonWithValue( "Delete Configuration Only" );
|
||||
}
|
||||
}
|
|
@ -19,7 +19,9 @@ package org.apache.archiva.web.test.parent;
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -91,15 +93,43 @@ public abstract class AbstractSeleniumTest {
|
|||
// Auxiliar methods. This method help us and simplify test.
|
||||
// *******************************************************
|
||||
|
||||
public void captureScreenshot()
|
||||
{
|
||||
Date t = new Date();
|
||||
File f = new File( "" );
|
||||
String baseDir = f.getAbsolutePath();
|
||||
String time = t.toString();
|
||||
getSelenium().windowMaximize();
|
||||
getSelenium().windowFocus();
|
||||
getSelenium().captureScreenshot( baseDir + "/target/screenshots/" + getClass() + "-" + time + ".png" );
|
||||
}
|
||||
|
||||
public void assertFieldValue( String fieldValue, String fieldName )
|
||||
{
|
||||
assertElementPresent( fieldName );
|
||||
Assert.assertEquals( fieldValue, getSelenium().getValue( fieldName ) );
|
||||
try
|
||||
{
|
||||
assertElementPresent( fieldName );
|
||||
Assert.assertEquals( fieldValue, getSelenium().getValue( fieldName ) );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
assertElementPresent( fieldName );
|
||||
Assert.assertEquals( fieldValue, getSelenium().getValue( fieldName ) );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertPage( String title )
|
||||
{
|
||||
Assert.assertEquals( getSelenium().getTitle(), title );
|
||||
try
|
||||
{
|
||||
Assert.assertEquals( getSelenium().getTitle(), title );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertEquals( getSelenium().getTitle(), title );
|
||||
}
|
||||
}
|
||||
|
||||
public String getTitle()
|
||||
|
@ -114,37 +144,93 @@ public abstract class AbstractSeleniumTest {
|
|||
|
||||
public void assertTextPresent( String text )
|
||||
{
|
||||
Assert.assertTrue( getSelenium().isTextPresent( text ), "'" + text + "' isn't present." );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( getSelenium().isTextPresent( text ), "'" + text + "' isn't present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( getSelenium().isTextPresent( text ), "'" + text + "' isn't present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertTextNotPresent( String text )
|
||||
{
|
||||
Assert.assertFalse( getSelenium().isTextPresent( text ), "'" + text + "' is present." );
|
||||
try
|
||||
{
|
||||
Assert.assertFalse( getSelenium().isTextPresent( text ), "'" + text + "' is present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertFalse( getSelenium().isTextPresent( text ), "'" + text + "' is present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertElementPresent( String elementLocator )
|
||||
{
|
||||
Assert.assertTrue( isElementPresent( elementLocator ), "'" + elementLocator + "' isn't present." );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( isElementPresent( elementLocator ), "'" + elementLocator + "' isn't present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( isElementPresent( elementLocator ), "'" + elementLocator + "' isn't present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertElementNotPresent( String elementLocator )
|
||||
{
|
||||
Assert.assertFalse( isElementPresent( elementLocator ), "'" + elementLocator + "' is present." );
|
||||
try
|
||||
{
|
||||
Assert.assertFalse( isElementPresent( elementLocator ), "'" + elementLocator + "' is present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertFalse( isElementPresent( elementLocator ), "'" + elementLocator + "' is present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertLinkPresent( String text )
|
||||
{
|
||||
Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertLinkNotPresent( String text )
|
||||
{
|
||||
Assert.assertFalse( isElementPresent( "link=" + text ), "The link('" + text + "' is present." );
|
||||
try
|
||||
{
|
||||
Assert.assertFalse( isElementPresent( "link=" + text ), "The link('" + text + "' is present." );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertFalse( isElementPresent( "link=" + text ), "The link('" + text + "' is present." );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertImgWithAlt( String alt )
|
||||
{
|
||||
assertElementPresent( "/¯img[@alt='" + alt + "']" );
|
||||
try
|
||||
{
|
||||
assertElementPresent( "/¯img[@alt='" + alt + "']" );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
assertElementPresent( "/¯img[@alt='" + alt + "']" );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertImgWithAltAtRowCol( boolean isALink, String alt, int row, int column )
|
||||
|
@ -153,12 +239,28 @@ public abstract class AbstractSeleniumTest {
|
|||
locator += isALink ? "a/" : "";
|
||||
locator += "img[@alt='" + alt + "']";
|
||||
|
||||
assertElementPresent( locator );
|
||||
try
|
||||
{
|
||||
assertElementPresent( locator );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
assertElementPresent( locator );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertCellValueFromTable( String expected, String tableElement, int row, int column )
|
||||
{
|
||||
Assert.assertEquals( expected, getCellValueFromTable( tableElement, row, column ) );
|
||||
try
|
||||
{
|
||||
Assert.assertEquals( expected, getCellValueFromTable( tableElement, row, column ) );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertEquals( expected, getCellValueFromTable( tableElement, row, column ) );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isTextPresent( String text )
|
||||
|
@ -219,17 +321,41 @@ public abstract class AbstractSeleniumTest {
|
|||
|
||||
public void assertButtonWithValuePresent( String text )
|
||||
{
|
||||
Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertButtonWithIdPresent( String id )
|
||||
{
|
||||
Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertButtonWithValueNotPresent( String text )
|
||||
{
|
||||
Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" );
|
||||
try
|
||||
{
|
||||
Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isButtonWithValuePresent( String text )
|
||||
|
@ -346,12 +472,28 @@ public abstract class AbstractSeleniumTest {
|
|||
|
||||
public void assertIsChecked( String locator )
|
||||
{
|
||||
Assert.assertTrue( getSelenium().isChecked( locator ) );
|
||||
try
|
||||
{
|
||||
Assert.assertTrue( getSelenium().isChecked( locator ) );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertTrue( getSelenium().isChecked( locator ) );
|
||||
}
|
||||
}
|
||||
|
||||
public void assertIsNotChecked( String locator )
|
||||
{
|
||||
Assert.assertFalse( getSelenium().isChecked( locator ) );
|
||||
try
|
||||
{
|
||||
Assert.assertFalse( getSelenium().isChecked( locator ) );
|
||||
}
|
||||
catch ( java.lang.AssertionError e)
|
||||
{
|
||||
captureScreenshot();
|
||||
Assert.assertFalse( getSelenium().isChecked( locator ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue