Привет.
Есть тест кейс
- Открыть гугл.
- Ввести в строку поиска запрос, к примеру “google”
- Нажать кнопку поиска.
- На странице результатов поиска убедиться, что первая ссылка ведет на сайт google
- Открыть поочередно все ссылки со страницы результата поиска и на каждой странице убедиться, что присутствует слово нашего запроса “google”
C 4 и 5 пунктом возникли сложности. Средствами робота не знаю как это реализовать, но есть небольшие знания JS. Попробовал через JS, но оно не отрабатывает так, как нужно.
*** Keywords ***
Given search engine should be opened
Open browser ${search_page} ${browser}
Maximize Browser Window
Location should contain ${search_page}
search field is filled
Input text ${search_field_locator} ${search_request}
search btn is clicked
Click Element ${search_btn_locator}
search result page is opened
Location should contain ${search_page}
Location should contain ${search_request}
Log Location
check that Google has the leading place in the result list
Execute JavaScript function test(){document.getElementsByClassName(’_Rm’)[0].innerHTML};
open each link and check that Google word is present on each page
Execute JavaScript var results = document.getElementsByClassName(‘r’);for(var i=0;i<results.length;i++){console.log(results[i].getElementsByTagName(‘a’)[0].click());var html = document.getElementsByTagName(‘html’)[0];var text = html.innerHTML;/google/i.test(text);}
В пункте 4 проблема в том, что при выполнении JS я не знаю как вывести результат в консоль робота. В консоли браузера эта функция отрабатывает и отдает первую ссылку по результатам поиска.
В пункте 5 проблема в том, что выполняя этот код, робот в итоге открывает только последнюю ссылку со страницы результатов поиска.
Есть ли возможность силами самого робота реализовать пункты 4 и 5 ?