18. Dezember 2014 um 15:55 Uhr
Browser UI Testing with Geb: Scroll element to be visible
Just as a short note regarding browser automation / web testing with geb:
If you want / need to make sre an certain element is visible on the screen so your test find the right UI element to continue, this snippet (that is a example test method) might help:
void "delete element in list"() { given: "delete is triggered by click on the delete icon" def jqScrollToVisible = 'jQuery(\'#elementList\').find(\'div:contains(' + elementName + ')\')[0].scrollIntoView();' js.exec(jqScrollToVisible) waitFor{ $('#elementList').find('div', text: elementName).displayed } $('#elementList').find('div', text: elementName).parent().find("div", class: "icon-delete").click() when: "delete dialog is shown and confirmed" waitFor { deleteDialog.displayed == true } deleteDialogYesButton.click(); then: "Message is shown and disappears" waitFor { blockUiMessage.displayed } waitFor { blockUiMessage.displayed == false } }
Note: blockUiMessage, deleteDialogYesButton and deleteDialog are page elements defined in the page (see Book of Geb for details)
Happy testing