В этой главе мы узнаем, как использовать опцию безголового веб-драйвера Watir для проверки URL-адреса страницы.
Синтаксис
Browser = Watir::Browser.new :chrome, headless: true
Тестовая страница, которую мы собираемся протестировать, показана здесь —
<html> <head> <title>Testing UI using Watir</title> </head> <body> <script type = "text/javascript"> function wsentered() { console.log("inside wsentered"); var firstname = document.getElementById("firstname"); if (firstname.value != "") { document.getElementById("displayfirstname").innerHTML = "The name entered is : " + firstname.value; document.getElementById("displayfirstname").style.display = ""; } } </script> <div id = "divfirstname"> Enter First Name : <input type = "text" id = "firstname" name = "firstname" onchange = "wsentered()" /> </div> <br/> <br/> <div style = "display:none;" id = "displayfirstname"></div> </body> </html>
Выход
Код Watir
require 'watir' b = Watir::Browser.new :chrome, headless: true b.goto('http://localhost/uitesting/textbox.html') t = b.text_field(name: 'firstname') t.exists? t.set 'Riya Kapoor' t.value t.fire_event('onchange') b.screenshot.save 'headless.png'
Мы добавили опцию без заголовка : true для браузера Watir Chrome. Когда вы запустите программу Ruby, она не откроет браузер, все будет выполнено в командной строке —
DevTools listening on ws://127.0.0.1:53973/devtools/browser/b4127866-afb8-4c74-b967-5bacb3354b19 [0505/144843.905:INFO:CONSOLE(8)] "inside wsentered", source: http://localhost/uitesting/textbox.html (8)
Мы добавили сообщение console.log и то же самое, напечатанное в командной строке.
Скриншот headless.png показан ниже —
В Firefox
Код watir для Firefox показан здесь —
require 'watir' b = Watir::Browser.new :firefox, headless: true b.goto('http://localhost/uitesting/textbox.html') t = b.text_field(name: 'firstname') t.exists? t.set 'Riya Kapoor' t.value t.fire_event('onchange') b.screenshot.save 'headlessfirefox.png'
Скриншот для headlessfirefox.png показан здесь —