Skip to content

Commit

Permalink
Merge pull request #4037 from plone/robottest-contentbrowser-updates
Browse files Browse the repository at this point in the history
Fix tests for newest contentbrowser updates
  • Loading branch information
petschki authored Oct 24, 2024
2 parents f7361bb + 990291d commit b8113f1
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 58 deletions.
6 changes: 6 additions & 0 deletions Products/CMFPlone/tests/robot/keywords.robot
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ Remove line from textarea
Type Text //textarea[@name="${fieldName}"] ${lines}


Click item in contenbrowser column
[arguments] ${colnumber} ${itemposition}
Wait For Condition Element States //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[${colnumber}]/div[contains(@class, "levelItems")]/div[${itemposition}] contains visible
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[${colnumber}]/div[contains(@class, "levelItems")]/div[${itemposition}]


Fill text to tinymce editor
[Arguments] ${text}

Expand Down
68 changes: 33 additions & 35 deletions Products/CMFPlone/tests/robot/test_contentbrowser.robot
Original file line number Diff line number Diff line change
Expand Up @@ -114,17 +114,17 @@ I select a related item image via contentbrowser
# Click the Categorization Tab
Click //a[@id="autotoc-item-autotoc-2"]
# Click the select button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//a[contains(@class, "btn-primary")]
# Click third element in first column, that is the "Assets" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[4]
Click item in contenbrowser column 1 4
# Click first element in second column, that is the "Mixed" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelItems")]/div[1]
Click item in contenbrowser column 2 1
# Click fifth element in third column, that is the "Files" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[3]/div[contains(@class, "levelItems")]/div[5]
Click item in contenbrowser column 3 5
# Click third element in fourth column, that is the "Images" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[4]/div[contains(@class, "levelItems")]/div[3]
Click item in contenbrowser column 4 3
# Click second element in fifth column, that is the "Image2" Object
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[5]/div[contains(@class, "levelItems")]/div[2]
Click item in contenbrowser column 5 2
# Click the select Button in the Toolbar of column 6
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[6]/div[contains(@class, "levelToolbar")]/button

Expand All @@ -134,19 +134,19 @@ I select two related item images via contentbrowser
# Click the Categorization Tab
Click //a[@id="autotoc-item-autotoc-2"]
# Click the select button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//a[contains(@class, "btn-primary")]
# Click third element in first column, that is the "Assets" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[4]
Click item in contenbrowser column 1 4
# Click first element in second column, that is the "Mixed" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelItems")]/div[1]
Click item in contenbrowser column 2 1
# Click fifth element in third column, that is the "Files" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[3]/div[contains(@class, "levelItems")]/div[5]
Click item in contenbrowser column 3 5
# Click third element in fourth column, that is the "Images" folder
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[4]/div[contains(@class, "levelItems")]/div[3]
Click item in contenbrowser column 4 3

# now we select two items in a colum via Shift+Click
# Click first element in fifth column, that is the "Image1" Object
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[5]/div[contains(@class, "levelItems")]/div[1]
Click item in contenbrowser column 5 1
# Click second element in fifth column with SHIFT, that is the "Image2" Object
Click With Options //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[5]/div[contains(@class, "levelItems")]/div[2] left Shift
# Click the select Button in the Toolbar of column 6
Expand All @@ -168,51 +168,47 @@ I set an internal link via contentbrowser
... iframe_document.getSelection().addRange(range);
... }
... all_elements=False
Click //button[@aria-label='Insert/edit link']
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click item in column 1 3
Click tiny button and open contentbrowser Insert/edit link
Click item in contenbrowser column 1 3
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]

I set an image via contentbrowser
Go to ${PLONE_URL}/${DOCUMENT_ID}/edit
Fill text to tinymce editor Susi Sorglos and John Doe
Click //button[@aria-label='Insert/edit image']
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click item in column 1 3
Click item in column 2 1
Click item in column 3 1
Click tiny button and open contentbrowser Insert/edit image
Click item in contenbrowser column 1 3
Click item in contenbrowser column 2 1
Click item in contenbrowser column 3 1
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]

I upload an image via contentbrowser
Go to ${PLONE_URL}/${DOCUMENT_ID}/edit
Fill text to tinymce editor Susi Sorglos and John Doe
Click //button[@aria-label="Insert/edit image"]
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click item in column 1 3
Click item in column 2 1
Click tiny button and open contentbrowser Insert/edit image
Click item in contenbrowser column 1 3
Click item in contenbrowser column 2 1
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "toolBar")]//button[contains(@class,"upload")]
Upload File By Selector //div[contains(@class,"pat-upload")]//input[@class="dz-hidden-input"] ${PATH_TO_TEST_FILES}/plone-logo.png
Click //div[contains(@class,"pat-upload")]//button[contains(@class,"upload-all")]
Click item in column 3 3
Click item in contenbrowser column 3 3
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]

I search and select an image via contentbrowser
Go to ${PLONE_URL}/${DOCUMENT_ID}/edit
Fill text to tinymce editor Susi Sorglos and John Doe
Click //button[@aria-label="Insert/edit image"]
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click item in column 1 3
Click item in column 2 1
Click item in column 3 2
Click item in column 4 1
Click tiny button and open contentbrowser Insert/edit image
Click item in contenbrowser column 1 3
Click item in contenbrowser column 2 1
Click item in contenbrowser column 3 2
Click item in contenbrowser column 4 1
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "toolBar")]//input[contains(@name,"filter")]
Type Text //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "toolBar")]//input[contains(@name,"filter")] Anot
# here we need a timeout, because the search filter is not so fast like the testbrowser, it looks like a asynch operation
Sleep 1
Click item in column 5 1
Click item in contenbrowser column 5 1
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]

Expand Down Expand Up @@ -258,6 +254,8 @@ Element exists
[arguments] ${xpath} ${attr} ${value}
Wait for condition Attribute ${xpath} ${attr} should end with ${value}

Click item in column
[arguments] ${colnumber} ${itemposition}
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[${colnumber}]/div[contains(@class, "levelItems")]/div[${itemposition}]
Click tiny button and open contentbrowser
[arguments] ${label}
Click //button[@aria-label="${label}"]
Wait for Condition Element States //div[@class="linkModal"] contains visible
Click //div[@class="linkModal"]//div[contains(@class, "content-browser-selected-items-wrapper")]//a[contains(@class, "btn-primary")]
15 changes: 8 additions & 7 deletions Products/CMFPlone/tests/robot/test_edit.robot
Original file line number Diff line number Diff line change
Expand Up @@ -110,20 +110,20 @@ I click the ${tab} tab

I select a related item
# Click the select button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//button
Click //div[@id="formfield-form-widgets-IRelatedItems-relatedItems"]//a[contains(@class, "btn-primary")]
# Click first element in first column
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[1]
Click item in contenbrowser column 1 1
# Click the select Button in the Toolbar of column 2
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelToolbar")]//button[contains(@class, "btn-primary")]

I select a linked item
# Click the select button
Click //div[@id="formfield-form-widgets-remoteUrl"]//button
Click //div[@id="formfield-form-widgets-remoteUrl"]//a[contains(@class, "btn-primary")]
# Click first element in first column
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[1]
Click item in contenbrowser column 1 1
# Click the select Button in the Toolbar of column 2
# This selects the "test-folder"
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[2]/div[contains(@class, "levelToolbar")]//button[contains(@class, "btn-primary")]

I save the page
Click //button[@name="form.buttons.save"]
Expand Down Expand Up @@ -170,6 +170,7 @@ no other tab is shown

at least one other item
Go to ${PLONE_URL}/++add++Document
Wait For Condition Classes //body contains patterns-loaded
Type Text //input[@id="form-widgets-IDublinCore-title"] ${TITLE}
Click //button[@name="form.buttons.save"]
Get Text //body contains Item created
Get Text //body contains Item created
6 changes: 3 additions & 3 deletions Products/CMFPlone/tests/robot/test_linkintegrity.robot
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ I add a link in rich text
Fill text to tinymce editor foo
Mark text foo in tinymce editor
Click //button[@aria-label="Insert/edit link"]
Click //div[contains(@class,"linkModal")]//div[contains(@class,"content-browser-selected-items-wrapper")]//button[contains(@class,"btn-primary")]
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[3]
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click //div[contains(@class,"linkModal")]//div[contains(@class,"content-browser-selected-items-wrapper")]//a[contains(@class,"btn-primary")]
Click item in contenbrowser column 1 3
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]//button[contains(@class, "btn-primary")]
Click //div[contains(@class,"modal-footer")]//input[@name="insert"]
Click //button[@name="form.buttons.save"]
Get Text //body contains Changes saved
Expand Down
13 changes: 6 additions & 7 deletions Products/CMFPlone/tests/robot/test_querystring.robot
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Scenario: Location query Custom
and a bunch of folders
and the querystring pattern
When I activate the operator Custom in the criteria Location
and I search in B subfolder in the related items widget
and I search in B subfolder in the contentbrowser widget
Then we expect 5 hits

Scenario: Location query Advanced
Expand Down Expand Up @@ -351,12 +351,11 @@ I activate the operator ${OPERATOR} in the criteria ${CRITERIA}
select index type ${OPERATOR}


I search in ${NAME} subfolder in the related items widget
I search in ${NAME} subfolder in the contentbrowser widget
mark results
Click //div[@class="pat-relateditems-container"]//ul[@class="select2-choices"]
# I have seen this fail sometimes, where the screen shot showed the NAME just fine.
Sleep 0.1
Click //a[contains(concat(' ', normalize-space(@class), ' '), ' pat-relateditems-result-select ')]//span[contains(text(),'${NAME}')]
Click //div[@class="querystring-criteria-value"]//div[contains(@class, "content-browser-selected-items-wrapper")]//a[contains(@class, "btn-primary")]
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumn")]//div[contains(@class, "item-title")][text()[contains(.,'${NAME}')]]
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[3]/div[contains(@class, "levelToolbar")]/button


I open the select box titled operator
Expand Down Expand Up @@ -475,4 +474,4 @@ wait until result is no longer marked
... (element) => {
... return element && element.getAttribute("marker") != "marked"
... }
... all_elements=False
... all_elements=False
12 changes: 6 additions & 6 deletions Products/CMFPlone/tests/robot/test_tinymce.robot
Original file line number Diff line number Diff line change
Expand Up @@ -59,16 +59,16 @@ insert link
... }
... all_elements=False
Click //button[@aria-label='Insert/edit link']
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click xpath=//div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[3]
Click xpath=//div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click css=.linkModal .content-browser-selected-items-wrapper a.btn-primary
Click item in contenbrowser column 1 3
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]//button
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]

insert image
Click //button[@aria-label="Insert/edit image"]
Click css=.linkModal .content-browser-selected-items-wrapper button.btn-primary
Click xpath=//div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[1]/div[contains(@class, "levelItems")]/div[3]
Click xpath=//div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]/button
Click css=.linkModal .content-browser-selected-items-wrapper a.btn-primary
Click item in contenbrowser column 1 3
Click //div[contains(@class, "content-browser-wrapper")]//div[contains(@class, "levelColumns")]/div[contains(@class, "preview")]/div[contains(@class, "levelToolbar")]//button
Type Text //div[contains(@class, 'modal-body')]//input[@name="title"] SomeTitle
Type Text //div[contains(@class, 'modal-body')]//input[@name="alt"] SomeAlt
Click //div[contains(@class, 'modal-footer')]//input[contains(@name, 'insert')]
2 changes: 2 additions & 0 deletions news/4037.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Robottest fixes for latest `pat-contentbrowser` updates.
[petschki]

0 comments on commit b8113f1

Please sign in to comment.