Test suite results

result: passed
totalTime: 228
numTestTotal: 7
numTestPasses: 7
numTestFailures: 0
numCommandPasses: 124
numCommandFailures: 0
numCommandErrors: 0
Selenium Version: undefined
Selenium Revision: undefined
Test Suite
user-management
more security
upload
user-writing
dependencies
svn update
directory-security
 
tests/user-management.html
user-management
open /auth/signOut
open /
type username scott
type password tiger
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /jsecUser/list
open /jsecUser/create
type username testuser1
type firstname Test
type lastname User1
type email test1@example.com
type password abc
type repeatPassword abc
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='errors'] Password must be at least 8 characters
open /jsecUser/list
open /jsecUser/create
type username testuser1
type firstname Test
type lastname User1
type email test1@example.com
type password password4TU1
type repeatPassword password4TU1
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] newUserID
open /jsecUserRoleMappings/listByUser/${newUserID}
select id2 label=help read
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User testuser1 (Test User1) added to role help read
select id2 label=main read write
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User testuser1 (Test User1) added to role main read write
open /jsecRole/list
clickAndWait //tr/td[. = 'default']/following-sibling::td/a
assertElementPresent //tr/td[position() = 1 and . = 'testuser1']
open /jsecRole/list
clickAndWait //tr/td[. = 'main read write']/following-sibling::td/a
storeLocation savedRole
assertElementPresent //tr/td[position() = 1 and . = 'testuser1']
open /jsecRole/list
clickAndWait //tr/td[. = 'help read write']/following-sibling::td/a
assertElementNotPresent //tr/td[position() = 1 and . = 'testuser1']
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username testuser1
type password password4TU1
clickAndWait //input[@value='Sign in']
verifyTextPresent Main Area
assertElementPresent //span[@id='topPageSpecific']//a[. = 'Edit']
assertElementPresent link=(with form)
clickAndWait link=(with form)
waitForPageToLoad 3000
waitForLocation */page/edit/*
assertTextPresent Edit wiki page: index.html
clickAndWait _eventId_cancel
open /help
assertElementNotPresent //span[@id='topPageSpecific']//a[. = 'Edit']
open /page/edit/1/index.html
waitForPageToLoad 30000
assertTextPresent Error 403: permission denied
open /auth/signOut
type username scott
type password tiger
clickAndWait //input[@value='Sign in']
open /jsecUser/show/${newUserID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${newUserID} deleted
open ${savedRole}
assertElementNotPresent //tr/td[position() = 1 and . = 'testuser1']
clickAndWait link=Log out
 
tests/more-security.html
user-management
store scott adminUsername
store tiger adminPassword
store javascript{'user' + (new Date()).getTime()} username
store Write userFirstName
store User userLastName
store write@testing.com userEmail
store 1password4WTU userPassword
open /auth/signOut
open /
assertLocation */auth/login?*
assertElementPresent //input[@type='text' and @name='username']
assertElementPresent //input[@type='password' and @name='password']
assertElementPresent link=Register as a new user
clickAndWait link=Register as a new user
verifyTextPresent CoW: Registration
assertElementPresent //input[@type='password' and @name='password']
assertElementPresent //input[@type='password' and @name='repeatPassword']
assertElementPresent //img[@src='/jcaptcha/jpeg/image']
assertElementPresent //input[@type='text' and @name='response']
open /wiki/show/1
assertLocation */auth/login?*
open /admin/index
assertLocation */auth/login?*
open /user/show
assertLocation */auth/login?*
open /
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /jsecUser/list
open /jsecUser/create
type username ${username}
type firstname ${userFirstName}
type lastname ${userLastName}
type email ${userEmail}
type password ${userPassword}
type repeatPassword ${userPassword}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] userID
open /jsecUserRoleMappings/listByUser/${userID}
select id2 label=main read write
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User ${username} (${userFirstName} ${userLastName}) added to role main read write
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username ${username}
type password ${userPassword}
clickAndWait //input[@value='Sign in']
open /wiki/show/2
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
open /admin/index
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
open /jsecUser
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
assertElementPresent link=${userFirstName} ${userLastName}
clickAndWait link=${userFirstName} ${userLastName}
verifyTextPresent User profile
assertText //td[preceding-sibling::td = 'Username:'] ${username}
assertText //td[preceding-sibling::td = 'First name:'] ${userFirstName}
assertText //td[preceding-sibling::td = 'Last name:'] ${userLastName}
assertText //td[preceding-sibling::td = 'Email address:'] ${userEmail}
open /auth/signOut
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
open /jsecUser/show/${userID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${userID} deleted
open /auth/signOut
 
tests/upload-server.html
upload
open /auth/signOut
open /
waitForLocation */auth/login?*
type username scott
type password tiger
clickAndWait //input[@value='Sign in']
open /
clickAndWait link=Admin
clickAndWait link=Wiki areas
clickAndWait link=New Wiki
click createNewSandbox
type description Upload test
clickAndWait //input[@value='Create']
storeText //tr[2]/td[2] path
storeEval storedVars['path'].replace(/\/sandboxes\/.*$/, "/sandboxes/help/selenium/tests") path
clickAndWait link=Browse area
click link=Upload
type fileUpload
click gwt-debug-submitButton
waitForAlert *You must select a file*
type fileUpload ${path}/upload.html
click gwt-debug-submitButton
waitForLocation */
waitForPageToLoad 3000
assertTextPresent *Upload successful*
assertTextPresent *Directory*upload.html*
click link=Upload
type fileUpload ${path}/upload.zip
click unzip
click gwt-debug-submitButton
waitForLocation */
waitForPageToLoad 3000
assertTextPresent *Upload successful*
assertTextPresent *Directory*newpage2.html*
assertTextPresent *Directory*tests/*
clickAndWait link=Log out
 
tests/user-writing.html
user-writing
store scott adminUsername
store tiger adminPassword
store javascript{'user' + (new Date()).getTime()} username
store Write userFirstName
store User userLastName
store write@testing.com userEmail
store 1password4WTU userPassword
open /auth/signOut
open /
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /admin/
clickAndWait link=Wiki areas
clickAndWait link=New Wiki
click createNewSandbox
type description Selenium user writing test
clickAndWait //input[@value='Create']
storeText //td[preceding-sibling::td = 'Id:'] wikiID
clickAndWait link=Browse area
verifyTextPresent Directory
open /jsecUser/list
open /jsecUser/create
type username ${username}
type firstname ${userFirstName}
type lastname ${userLastName}
type email ${userEmail}
type password ${userPassword}
type repeatPassword ${userPassword}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] userID
open /jsecUserRoleMappings/listByUser/${userID}
select id2 label=Wiki ${wikiID} ReadAndWrite
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User ${username} (${userFirstName} ${userLastName}) added to role Wiki ${wikiID} ReadAndWrite
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username ${username}
type password ${userPassword}
clickAndWait //input[@value='Sign in']
open /page/show/${wikiID} </td>
</tr

<tr>
<td>clickAndWait</td>
<td>link=Browse area</td>
<td>
verifyTextPresent Directory
click link=New page
waitForElementPresent newpageName
type newpageName index.html
click _eventId_submitName
waitForElementPresent _eventId_create
clickAndWait _eventId_create
verifyTextPresent empty
clickAndWait link=(with form)
type editorarea A new (empty) page


%(a-new-directory)
clickAndWait _eventId_save
waitForLocation */page/show/*/index.html
waitForPageToLoad 10000
verifyTextPresent Edit on page index.html saved
clickAndWait link=a-new-directory
waitForElementPresent _eventId_create
clickAndWait _eventId_create
verifyTextPresent Directory
click link=New page
waitForElementPresent _eventId_cancelGetName
clickAndWait _eventId_cancelGetName
waitForLocation */page/show/*a-new-directory/?type=dir
click link=New page
waitForElementPresent newpageName
type newpageName x.html
click _eventId_submitName
waitForElementPresent _eventId_create
clickAndWait _eventId_create
open /auth/signOut
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
open /jsecUser/show/${userID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${userID} deleted
open /wiki/show/${wikiID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} deleted
open /auth/signOut
 
tests/dependencies.html
dependencies
store scott adminUsername
store tiger adminPassword
store Dependencies test wiki wikiDescription
open /auth/signOut
open /
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /admin/
clickAndWait link=Wiki areas
clickAndWait link=New Wiki
click createNewSandbox
type description ${wikiDescription}
clickAndWait //input[@value='Create']
storeText //td[preceding-sibling::td = 'Id:'] wikiID
clickAndWait _action_Regenerate
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} regenerated
clickAndWait _action_Edit
type description Dependencies test wiki again
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} updated, and regenerated
clickAndWait _action_Edit
type regenerateTime 27:30
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='errors'] Regeneration time must be a valid time of the form hh:mm
type regenerateTime 02:30
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} updated, and regenerated
assertText //td[preceding-sibling::td = 'Regenerate daily at:'] 02:30
open /wiki/show/${wikiID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} deleted
clickAndWait link=Log out
 
tests/svn-update.html
dependencies
store scott adminUsername
store tiger adminPassword
store SVN update test wiki wikiDescription
open /auth/signOut
open /
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /admin/
clickAndWait link=Wiki areas
clickAndWait link=New Wiki
click createNewSandbox
type description ${wikiDescription}
clickAndWait //input[@value='Create']
storeText //td[preceding-sibling::td = 'Id:'] wikiID
clickAndWait _action_svnup
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} SVN update has been run
clickAndWait _action_Edit
type updateInterval ABC
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='errors'] Update interval must be an integer greater than 0
type updateInterval 0
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='errors'] Update interval must be an integer greater than 0
type updateInterval 1.23
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} updated, and regenerated
assertText //td[preceding-sibling::td = 'Update interval (minutes):'] 1
clickAndWait _action_Edit
type updateInterval
clickAndWait _action_Update
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} updated, and regenerated
assertText //td[preceding-sibling::td = 'Update interval (minutes):']
open /wiki/show/${wikiID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} deleted
clickAndWait link=Log out
 
tests/directory-security.html
user-writing
store scott adminUsername
store tiger adminPassword
store Directory access tests wikiName
store javascript{'user' + (new Date()).getTime() + "1"} externalUser
store javascript{'user' + (new Date()).getTime() + "2"} normalUser
store javascript{'user' + (new Date()).getTime() + "3"} privilegedUser
store Test userFirstName
store User userLastName
store test@testing.com userEmail
store 1password4WTU userPassword
store normal normalDir
store external externalDir
store privileged privilegedDir
store javascript{'role' + (new Date()).getTime() + "1"} normalRole
store javascript{'role' + (new Date()).getTime() + "2"} externalRole
store javascript{'role' + (new Date()).getTime() + "3"} privilegedRole
open /auth/signOut
open /
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
verifyTextPresent CoW
open /admin/
clickAndWait link=Wiki areas
clickAndWait link=New Wiki
click createNewSandbox
type description ${wikiName}
clickAndWait //input[@value='Create']
storeText //td[preceding-sibling::td = 'Id:'] wikiID
clickAndWait link=Browse area
verifyTextPresent Directory
open /page/show/${wikiID}
click link=New page
waitForElementPresent newpageName
type newpageName ${normalDir}
click _eventId_submitName
waitForElementPresent _eventId_create
clickAndWait _eventId_create
open /page/show/${wikiID}
click link=New page
waitForElementPresent newpageName
type newpageName ${externalDir}
click _eventId_submitName
waitForElementPresent _eventId_create
clickAndWait _eventId_create
open /page/show/${wikiID}
click link=New page
waitForElementPresent newpageName
type newpageName ${privilegedDir}
click _eventId_submitName
waitForElementPresent _eventId_create
clickAndWait _eventId_create
open /jsecRole/create
type name ${externalRole}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRole \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] externalRoleID
open /jsecRolePermissionRel/create
select role.id ${externalRole}
select wikiId ${wikiID}
type includeDir .*${externalDir}\/\z
type excludeDir
select controllerName.id page
select actions.id Read
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRolePermissionRel \d+ created$
open /jsecRole/create
type name ${normalRole}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRole \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] normalRoleID
open /jsecRolePermissionRel/create
select role.id ${normalRole}
select wikiId ${wikiID}
type includeDir .*
type excludeDir .*${privilegedDir}\/\z
select controllerName.id page
select actions.id Read
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRolePermissionRel \d+ created$
open /jsecRole/create
type name ${privilegedRole}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRole \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] privilegedRoleID
open /jsecRolePermissionRel/create
select role.id ${privilegedRole}
select wikiId ${wikiID}
type includeDir .*
type excludeDir
select controllerName.id page
select actions.id Read
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecRolePermissionRel \d+ created$
open /jsecUser/list
open /jsecUser/create
type username ${externalUser}
type firstname ${userFirstName}
type lastname ${userLastName}
type email ${userEmail}
type password ${userPassword}
type repeatPassword ${userPassword}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] externalUserID
open /jsecUserRoleMappings/listByUser/${externalUserID}
select id2 label=${externalRole}
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User ${externalUser} (${userFirstName} ${userLastName}) added to role ${externalRole}
open /jsecUser/list
open /jsecUser/create
type username ${normalUser}
type firstname ${userFirstName}
type lastname ${userLastName}
type email ${userEmail}
type password ${userPassword}
type repeatPassword ${userPassword}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] normalUserID
open /jsecUserRoleMappings/listByUser/${normalUserID}
select id2 label=${normalRole}
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User ${normalUser} (${userFirstName} ${userLastName}) added to role ${normalRole}
open /jsecUser/list
open /jsecUser/create
type username ${privilegedUser}
type firstname ${userFirstName}
type lastname ${userLastName}
type email ${userEmail}
type password ${userPassword}
type repeatPassword ${userPassword}
clickAndWait //input[@value='Create']
assertText //div[@class='body']/div[@class='message'] regexp:^JsecUser \d+ created$
storeText //td[preceding-sibling::td = 'Id:'] privilegedUserID
open /jsecUserRoleMappings/listByUser/${privilegedUserID}
select id2 label=${privilegedRole}
clickAndWait add
assertText //div[@class='body']/div[@class='message'] User ${privilegedUser} (${userFirstName} ${userLastName}) added to role ${privilegedRole}
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username ${externalUser}
type password ${userPassword}
clickAndWait //input[@value='Sign in']
open /page/show/${wikiID}/${externalDir}/
verifyTextPresent Directory: ${externalDir}/
open /page/show/${wikiID}/${normalDir}/
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
open /page/show/${wikiID}/${privilegedDir}/
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username ${normalUser}
type password ${userPassword}
clickAndWait //input[@value='Sign in']
open /page/show/${wikiID}/${externalDir}/
verifyTextPresent Directory: ${externalDir}/
open /page/show/${wikiID}/${normalDir}/
verifyTextPresent Directory: ${normalDir}/
open /page/show/${wikiID}/${privilegedDir}/
assertLocation */auth/unauthorized
verifyTextPresent Error 403: permission denied
clickAndWait link=Log out
open /
assertLocation */auth/login?*
type username ${privilegedUser}
type password ${userPassword}
clickAndWait //input[@value='Sign in']
open /page/show/${wikiID}/${externalDir}/
verifyTextPresent Directory: ${externalDir}/
open /page/show/${wikiID}/${normalDir}/
verifyTextPresent Directory: ${normalDir}/
open /page/show/${wikiID}/${privilegedDir}/
verifyTextPresent Directory: ${privilegedDir}/
open /auth/signOut
type username ${adminUsername}
type password ${adminPassword}
clickAndWait //input[@value='Sign in']
open /jsecUser/show/${externalUserID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${externalUserID} deleted
open /jsecUser/show/${normalUserID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${normalUserID} deleted
open /jsecUser/show/${privilegedUserID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] JsecUser ${privilegedUserID} deleted
open /jsecRole/show/${externalRoleID}
click _action_Delete
assertConfirmation regexp:^This role is currently unused.\s*Definitely delete\?$
waitForPageToLoad 10000
open /jsecRole/show/${normalRoleID}
click _action_Delete
assertConfirmation regexp:^This role is currently unused.\s*Definitely delete\?$
waitForPageToLoad 10000
open /jsecRole/show/${privilegedRoleID}
click _action_Delete
assertConfirmation regexp:^This role is currently unused.\s*Definitely delete\?$
waitForPageToLoad 10000
open /wiki/show/${wikiID}
click _action_Delete
assertConfirmation Are you sure?
waitForPageToLoad 10000
assertText //div[@class='body']/div[@class='message'] Wiki ${wikiID} deleted
open /auth/signOut
 
info: Starting test /selenium-server/tests/tests/user-management.html
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |type | username | scott |
info: Executing: |type | password | tiger |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | testuser1 |
info: Executing: |type | firstname | Test |
info: Executing: |type | lastname | User1 |
info: Executing: |type | email | test1@example.com |
info: Executing: |type | password | abc |
info: Executing: |type | repeatPassword | abc |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='errors'] | Password must be at least 8 characters |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | testuser1 |
info: Executing: |type | firstname | Test |
info: Executing: |type | lastname | User1 |
info: Executing: |type | email | test1@example.com |
info: Executing: |type | password | password4TU1 |
info: Executing: |type | repeatPassword | password4TU1 |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | newUserID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${newUserID} |  |
info: Executing: |select | id2 | label=help read |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User testuser1 (Test User1) added to role help read |
info: Executing: |select | id2 | label=main read write |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User testuser1 (Test User1) added to role main read write |
info: Executing: |open | /jsecRole/list |  |
info: Executing: |clickAndWait | //tr/td[. = 'default']/following-sibling::td/a |  |
info: Executing: |assertElementPresent | //tr/td[position() = 1 and . = 'testuser1'] |  |
info: Executing: |open | /jsecRole/list |  |
info: Executing: |clickAndWait | //tr/td[. = 'main read write']/following-sibling::td/a |  |
info: Executing: |storeLocation | savedRole |  |
info: Executing: |assertElementPresent | //tr/td[position() = 1 and . = 'testuser1'] |  |
info: Executing: |open | /jsecRole/list |  |
info: Executing: |clickAndWait | //tr/td[. = 'help read write']/following-sibling::td/a |  |
info: Executing: |assertElementNotPresent | //tr/td[position() = 1 and . = 'testuser1'] |  |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | testuser1 |
info: Executing: |type | password | password4TU1 |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | Main Area |  |
info: Executing: |assertElementPresent | //span[@id='topPageSpecific']//a[. = 'Edit'] |  |
info: Executing: |assertElementPresent | link=(with form) |  |
info: Executing: |clickAndWait | link=(with form) |  |
info: Executing: |waitForPageToLoad | 3000 |  |
info: Executing: |waitForLocation | */page/edit/* |  |
info: Executing: |assertTextPresent | Edit wiki page: index.html |  |
info: Executing: |clickAndWait | _eventId_cancel |  |
info: Executing: |open | /help |  |
info: Executing: |assertElementNotPresent | //span[@id='topPageSpecific']//a[. = 'Edit'] |  |
info: Executing: |open | /page/edit/1/index.html |  |
info: Executing: |waitForPageToLoad | 30000 |  |
info: Executing: |assertTextPresent | Error 403: permission denied |  |
info: Executing: |open | /auth/signOut |  |
info: Executing: |type | username | scott |
info: Executing: |type | password | tiger |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /jsecUser/show/${newUserID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${newUserID} deleted |
info: Executing: |open | ${savedRole} |  |
info: Executing: |assertElementNotPresent | //tr/td[position() = 1 and . = 'testuser1'] |  |
info: Executing: |clickAndWait | link=Log out |  |
info: Starting test /selenium-server/tests/tests/more-security.html
info: Executing: |store | scott | adminUsername |
info: Executing: |store | tiger | adminPassword |
info: Executing: |store | javascript{'user' + (new Date()).getTime()} | username |
info: Executing: |store | Write | userFirstName |
info: Executing: |store | User | userLastName |
info: Executing: |store | write@testing.com | userEmail |
info: Executing: |store | 1password4WTU | userPassword |
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |assertElementPresent | //input[@type='text' and @name='username'] |  |
info: Executing: |assertElementPresent | //input[@type='password' and @name='password'] |  |
info: Executing: |assertElementPresent | link=Register as a new user |  |
info: Executing: |clickAndWait | link=Register as a new user |  |
info: Executing: |verifyTextPresent | CoW: Registration |  |
info: Executing: |assertElementPresent | //input[@type='password' and @name='password'] |  |
info: Executing: |assertElementPresent | //input[@type='password' and @name='repeatPassword'] |  |
info: Executing: |assertElementPresent | //img[@src='/jcaptcha/jpeg/image'] |  |
info: Executing: |assertElementPresent | //input[@type='text' and @name='response'] |  |
info: Executing: |open | /wiki/show/1 |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |open | /admin/index |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |open | /user/show |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |open | / |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | ${username} |
info: Executing: |type | firstname | ${userFirstName} |
info: Executing: |type | lastname | ${userLastName} |
info: Executing: |type | email | ${userEmail} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |type | repeatPassword | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | userID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${userID} |  |
info: Executing: |select | id2 | label=main read write |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User ${username} (${userFirstName} ${userLastName}) added to role main read write |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | ${username} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /wiki/show/2 |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |open | /admin/index |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |open | /jsecUser |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |assertElementPresent | link=${userFirstName} ${userLastName} |  |
info: Executing: |clickAndWait | link=${userFirstName} ${userLastName} |  |
info: Executing: |verifyTextPresent | User profile |  |
info: Executing: |assertText | //td[preceding-sibling::td = 'Username:'] | ${username} |
info: Executing: |assertText | //td[preceding-sibling::td = 'First name:'] | ${userFirstName} |
info: Executing: |assertText | //td[preceding-sibling::td = 'Last name:'] | ${userLastName} |
info: Executing: |assertText | //td[preceding-sibling::td = 'Email address:'] | ${userEmail} |
info: Executing: |open | /auth/signOut |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /jsecUser/show/${userID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${userID} deleted |
info: Executing: |open | /auth/signOut |  |
info: Starting test /selenium-server/tests/tests/upload-server.html
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |waitForLocation | */auth/login?* |  |
info: Executing: |type | username | scott |
info: Executing: |type | password | tiger |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | / |  |
info: Executing: |clickAndWait | link=Admin |  |
info: Executing: |clickAndWait | link=Wiki areas |  |
info: Executing: |clickAndWait | link=New Wiki |  |
info: Executing: |click | createNewSandbox |  |
info: Executing: |type | description | Upload test |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |storeText | //tr[2]/td[2] | path |
info: Executing: |storeEval | storedVars['path'].replace(/\/sandboxes\/.*$/, "/sandboxes/help/selenium/tests") | path |
info: Executing: |clickAndWait | link=Browse area |  |
info: Executing: |click | link=Upload |  |
info: Executing: |type | fileUpload |  |
info: Executing: |click | gwt-debug-submitButton |  |
info: Executing: |waitForAlert | *You must select a file* |  |
info: Executing: |type | fileUpload | ${path}/upload.html |
info: Executing: |click | gwt-debug-submitButton |  |
info: Executing: |waitForLocation | */ |  |
info: Executing: |waitForPageToLoad | 3000 |  |
info: Executing: |assertTextPresent | *Upload successful* |  |
info: Executing: |assertTextPresent | *Directory*upload.html* |  |
info: Executing: |click | link=Upload |  |
info: Executing: |type | fileUpload | ${path}/upload.zip |
info: Executing: |click | unzip |  |
info: Executing: |click | gwt-debug-submitButton |  |
info: Executing: |waitForLocation | */ |  |
info: Executing: |waitForPageToLoad | 3000 |  |
info: Executing: |assertTextPresent | *Upload successful* |  |
info: Executing: |assertTextPresent | *Directory*newpage2.html* |  |
info: Executing: |assertTextPresent | *Directory*tests/* |  |
info: Executing: |clickAndWait | link=Log out |  |
info: Starting test /selenium-server/tests/tests/user-writing.html
info: Executing: |store | scott | adminUsername |
info: Executing: |store | tiger | adminPassword |
info: Executing: |store | javascript{'user' + (new Date()).getTime()} | username |
info: Executing: |store | Write | userFirstName |
info: Executing: |store | User | userLastName |
info: Executing: |store | write@testing.com | userEmail |
info: Executing: |store | 1password4WTU | userPassword |
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /admin/ |  |
info: Executing: |clickAndWait | link=Wiki areas |  |
info: Executing: |clickAndWait | link=New Wiki |  |
info: Executing: |click | createNewSandbox |  |
info: Executing: |type | description | Selenium user writing test |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | wikiID |
info: Executing: |clickAndWait | link=Browse area |  |
info: Executing: |verifyTextPresent | Directory |  |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | ${username} |
info: Executing: |type | firstname | ${userFirstName} |
info: Executing: |type | lastname | ${userLastName} |
info: Executing: |type | email | ${userEmail} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |type | repeatPassword | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | userID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${userID} |  |
info: Executing: |select | id2 | label=Wiki ${wikiID} ReadAndWrite |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User ${username} (${userFirstName} ${userLastName}) added to role Wiki ${wikiID} ReadAndWrite |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | ${username} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /page/show/${wikiID} | </td>
</tr

<tr>
 <td>clickAndWait</td>
 <td>link=Browse area</td>
 <td> |
info: Executing: |verifyTextPresent | Directory |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | newpageName |  |
info: Executing: |type | newpageName | index.html |
info: Executing: |click | _eventId_submitName |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |verifyTextPresent | empty |  |
info: Executing: |clickAndWait | link=(with form) |  |
info: Executing: |type | editorarea | A new (empty) page


%(a-new-directory) |
info: Executing: |clickAndWait | _eventId_save |  |
info: Executing: |waitForLocation | */page/show/*/index.html |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |verifyTextPresent | Edit on page index.html saved |  |
info: Executing: |clickAndWait | link=a-new-directory |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |verifyTextPresent | Directory |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | _eventId_cancelGetName |  |
info: Executing: |clickAndWait | _eventId_cancelGetName |  |
info: Executing: |waitForLocation | */page/show/*a-new-directory/?type=dir |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | newpageName |  |
info: Executing: |type | newpageName | x.html |
info: Executing: |click | _eventId_submitName |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |open | /auth/signOut |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /jsecUser/show/${userID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${userID} deleted |
info: Executing: |open | /wiki/show/${wikiID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} deleted |
info: Executing: |open | /auth/signOut |  |
info: Starting test /selenium-server/tests/tests/dependencies.html
info: Executing: |store | scott | adminUsername |
info: Executing: |store | tiger | adminPassword |
info: Executing: |store | Dependencies test wiki | wikiDescription |
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /admin/ |  |
info: Executing: |clickAndWait | link=Wiki areas |  |
info: Executing: |clickAndWait | link=New Wiki |  |
info: Executing: |click | createNewSandbox |  |
info: Executing: |type | description | ${wikiDescription} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | wikiID |
info: Executing: |clickAndWait | _action_Regenerate |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} regenerated |
info: Executing: |clickAndWait | _action_Edit |  |
info: Executing: |type | description | Dependencies test wiki again |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} updated, and regenerated |
info: Executing: |clickAndWait | _action_Edit |  |
info: Executing: |type | regenerateTime | 27:30 |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='errors'] | Regeneration time must be a valid time of the form hh:mm |
info: Executing: |type | regenerateTime | 02:30 |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} updated, and regenerated |
info: Executing: |assertText | //td[preceding-sibling::td = 'Regenerate daily at:'] | 02:30 |
info: Executing: |open | /wiki/show/${wikiID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} deleted |
info: Executing: |clickAndWait | link=Log out |  |
info: Starting test /selenium-server/tests/tests/svn-update.html
info: Executing: |store | scott | adminUsername |
info: Executing: |store | tiger | adminPassword |
info: Executing: |store | SVN update test wiki | wikiDescription |
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /admin/ |  |
info: Executing: |clickAndWait | link=Wiki areas |  |
info: Executing: |clickAndWait | link=New Wiki |  |
info: Executing: |click | createNewSandbox |  |
info: Executing: |type | description | ${wikiDescription} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | wikiID |
info: Executing: |clickAndWait | _action_svnup |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} SVN update has been run |
info: Executing: |clickAndWait | _action_Edit |  |
info: Executing: |type | updateInterval | ABC |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='errors'] | Update interval must be an integer greater than 0 |
info: Executing: |type | updateInterval | 0 |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='errors'] | Update interval must be an integer greater than 0 |
info: Executing: |type | updateInterval | 1.23 |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} updated, and regenerated |
info: Executing: |assertText | //td[preceding-sibling::td = 'Update interval (minutes):'] | 1 |
info: Executing: |clickAndWait | _action_Edit |  |
info: Executing: |type | updateInterval |  |
info: Executing: |clickAndWait | _action_Update |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} updated, and regenerated |
info: Executing: |assertText | //td[preceding-sibling::td = 'Update interval (minutes):'] |  |
info: Executing: |open | /wiki/show/${wikiID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} deleted |
info: Executing: |clickAndWait | link=Log out |  |
info: Starting test /selenium-server/tests/tests/directory-security.html
info: Executing: |store | scott | adminUsername |
info: Executing: |store | tiger | adminPassword |
info: Executing: |store | Directory access tests | wikiName |
info: Executing: |store | javascript{'user' + (new Date()).getTime() + "1"} | externalUser |
info: Executing: |store | javascript{'user' + (new Date()).getTime() + "2"} | normalUser |
info: Executing: |store | javascript{'user' + (new Date()).getTime() + "3"} | privilegedUser |
info: Executing: |store | Test | userFirstName |
info: Executing: |store | User | userLastName |
info: Executing: |store | test@testing.com | userEmail |
info: Executing: |store | 1password4WTU | userPassword |
info: Executing: |store | normal | normalDir |
info: Executing: |store | external | externalDir |
info: Executing: |store | privileged | privilegedDir |
info: Executing: |store | javascript{'role' + (new Date()).getTime() + "1"} | normalRole |
info: Executing: |store | javascript{'role' + (new Date()).getTime() + "2"} | externalRole |
info: Executing: |store | javascript{'role' + (new Date()).getTime() + "3"} | privilegedRole |
info: Executing: |open | /auth/signOut |  |
info: Executing: |open | / |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |verifyTextPresent | CoW |  |
info: Executing: |open | /admin/ |  |
info: Executing: |clickAndWait | link=Wiki areas |  |
info: Executing: |clickAndWait | link=New Wiki |  |
info: Executing: |click | createNewSandbox |  |
info: Executing: |type | description | ${wikiName} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | wikiID |
info: Executing: |clickAndWait | link=Browse area |  |
info: Executing: |verifyTextPresent | Directory |  |
info: Executing: |open | /page/show/${wikiID} |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | newpageName |  |
info: Executing: |type | newpageName | ${normalDir} |
info: Executing: |click | _eventId_submitName |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |open | /page/show/${wikiID} |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | newpageName |  |
info: Executing: |type | newpageName | ${externalDir} |
info: Executing: |click | _eventId_submitName |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |open | /page/show/${wikiID} |  |
info: Executing: |click | link=New page |  |
info: Executing: |waitForElementPresent | newpageName |  |
info: Executing: |type | newpageName | ${privilegedDir} |
info: Executing: |click | _eventId_submitName |  |
info: Executing: |waitForElementPresent | _eventId_create |  |
info: Executing: |clickAndWait | _eventId_create |  |
info: Executing: |open | /jsecRole/create |  |
info: Executing: |type | name | ${externalRole} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRole \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | externalRoleID |
info: Executing: |open | /jsecRolePermissionRel/create |  |
info: Executing: |select | role.id | ${externalRole} |
info: Executing: |select | wikiId | ${wikiID} |
info: Executing: |type | includeDir | .*${externalDir}\/\z |
info: Executing: |type | excludeDir |  |
info: Executing: |select | controllerName.id | page |
info: Executing: |select | actions.id | Read |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRolePermissionRel \d+ created$ |
info: Executing: |open | /jsecRole/create |  |
info: Executing: |type | name | ${normalRole} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRole \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | normalRoleID |
info: Executing: |open | /jsecRolePermissionRel/create |  |
info: Executing: |select | role.id | ${normalRole} |
info: Executing: |select | wikiId | ${wikiID} |
info: Executing: |type | includeDir | .* |
info: Executing: |type | excludeDir | .*${privilegedDir}\/\z |
info: Executing: |select | controllerName.id | page |
info: Executing: |select | actions.id | Read |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRolePermissionRel \d+ created$ |
info: Executing: |open | /jsecRole/create |  |
info: Executing: |type | name | ${privilegedRole} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRole \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | privilegedRoleID |
info: Executing: |open | /jsecRolePermissionRel/create |  |
info: Executing: |select | role.id | ${privilegedRole} |
info: Executing: |select | wikiId | ${wikiID} |
info: Executing: |type | includeDir | .* |
info: Executing: |type | excludeDir |  |
info: Executing: |select | controllerName.id | page |
info: Executing: |select | actions.id | Read |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecRolePermissionRel \d+ created$ |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | ${externalUser} |
info: Executing: |type | firstname | ${userFirstName} |
info: Executing: |type | lastname | ${userLastName} |
info: Executing: |type | email | ${userEmail} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |type | repeatPassword | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | externalUserID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${externalUserID} |  |
info: Executing: |select | id2 | label=${externalRole} |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User ${externalUser} (${userFirstName} ${userLastName}) added to role ${externalRole} |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | ${normalUser} |
info: Executing: |type | firstname | ${userFirstName} |
info: Executing: |type | lastname | ${userLastName} |
info: Executing: |type | email | ${userEmail} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |type | repeatPassword | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | normalUserID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${normalUserID} |  |
info: Executing: |select | id2 | label=${normalRole} |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User ${normalUser} (${userFirstName} ${userLastName}) added to role ${normalRole} |
info: Executing: |open | /jsecUser/list |  |
info: Executing: |open | /jsecUser/create |  |
info: Executing: |type | username | ${privilegedUser} |
info: Executing: |type | firstname | ${userFirstName} |
info: Executing: |type | lastname | ${userLastName} |
info: Executing: |type | email | ${userEmail} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |type | repeatPassword | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Create'] |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | regexp:^JsecUser \d+ created$ |
info: Executing: |storeText | //td[preceding-sibling::td = 'Id:'] | privilegedUserID |
info: Executing: |open | /jsecUserRoleMappings/listByUser/${privilegedUserID} |  |
info: Executing: |select | id2 | label=${privilegedRole} |
info: Executing: |clickAndWait | add |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | User ${privilegedUser} (${userFirstName} ${userLastName}) added to role ${privilegedRole} |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | ${externalUser} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /page/show/${wikiID}/${externalDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${externalDir}/ |  |
info: Executing: |open | /page/show/${wikiID}/${normalDir}/ |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |open | /page/show/${wikiID}/${privilegedDir}/ |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | ${normalUser} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /page/show/${wikiID}/${externalDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${externalDir}/ |  |
info: Executing: |open | /page/show/${wikiID}/${normalDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${normalDir}/ |  |
info: Executing: |open | /page/show/${wikiID}/${privilegedDir}/ |  |
info: Executing: |assertLocation | */auth/unauthorized |  |
info: Executing: |verifyTextPresent | Error 403: permission denied |  |
info: Executing: |clickAndWait | link=Log out |  |
info: Executing: |open | / |  |
info: Executing: |assertLocation | */auth/login?* |  |
info: Executing: |type | username | ${privilegedUser} |
info: Executing: |type | password | ${userPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /page/show/${wikiID}/${externalDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${externalDir}/ |  |
info: Executing: |open | /page/show/${wikiID}/${normalDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${normalDir}/ |  |
info: Executing: |open | /page/show/${wikiID}/${privilegedDir}/ |  |
info: Executing: |verifyTextPresent | Directory: ${privilegedDir}/ |  |
info: Executing: |open | /auth/signOut |  |
info: Executing: |type | username | ${adminUsername} |
info: Executing: |type | password | ${adminPassword} |
info: Executing: |clickAndWait | //input[@value='Sign in'] |  |
info: Executing: |open | /jsecUser/show/${externalUserID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${externalUserID} deleted |
info: Executing: |open | /jsecUser/show/${normalUserID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${normalUserID} deleted |
info: Executing: |open | /jsecUser/show/${privilegedUserID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | JsecUser ${privilegedUserID} deleted |
info: Executing: |open | /jsecRole/show/${externalRoleID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | regexp:^This role is currently unused.\s*Definitely delete\?$ |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |open | /jsecRole/show/${normalRoleID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | regexp:^This role is currently unused.\s*Definitely delete\?$ |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |open | /jsecRole/show/${privilegedRoleID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | regexp:^This role is currently unused.\s*Definitely delete\?$ |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |open | /wiki/show/${wikiID} |  |
info: Executing: |click | _action_Delete |  |
info: Executing: |assertConfirmation | Are you sure? |  |
info: Executing: |waitForPageToLoad | 10000 |  |
info: Executing: |assertText | //div[@class='body']/div[@class='message'] | Wiki ${wikiID} deleted |
info: Executing: |open | /auth/signOut |  |