groovy,geb(selenium),spockによる自動化テスト その3
Geb Navigator API
- gebを使えば、jqueryのselectorに似ている書き方で要素page要素を取得することができる。
script3.html
<div>div1 text</div> <div>div2 text</div> <div class="search1"> <form onsubmit="return bridge();"> <input type="text" placeholder="input keyword" class="input" id="keyword" name="keyword"> <br> <input type="button" value="search" class="submit" id="btnSearch" name="btnSearch" onclick="alert('clicked');"> </form> </div>
script3_navigator.groovy
/** * Geb Navigator API * * http://www.gebish.org/manual/current/#the-jquery-ish-navigator-api * * jquery selector * https://www.w3schools.com/jquery/trysel.asp * https://www.w3schools.com/jquery/jquery_selectors.asp * * */ import geb.Browser def keywords = 'javait.hatenablog.com' def testPage = new File('src/main\\java/html/script3.html') Browser.drive { go testPage.toURI().toString() // // search element by tag, class, id // $("div") // // Match the first "div" element on the page. // $("div", 0) // // Match all "div" elements with a title attribute value of "section". // $("div", title: "section") // // Match the first "div" element with a title attribute value of "section". // $("div", 0, title: "section") // // Match all "div" elements who have the class "main". // $("div.main") // // Match the first "div" element with the class "main". // $("div.main", 0) // search element by traversing // <div class="a"> // <div class="b"> // <p class="c"></p> // <p class="d"></p> // <p class="e"></p> // </div> // <div class="f"></div> // </div> // assert $("p.d").previous() == $("p.c") // assert $("p.e").prevAll() == $("p.c").add("p.d") // assert $("p.d").next() == $("p.e") // assert $("p.c").nextAll() == $("p.d").add("p.e") // assert $("p.d").parent() == $("div.b") // assert $("p.c").siblings() == $("p.d").add("p.e") // assert $("div.a").children() == $("div.b").add("div.f") // by tag println "divタグ数 : " + $("div").size() println "2個目divタグのtext : " + $("div", 1).text() // by id $('#keyword').value(keywords) $('#btnSearch').click() sleep 10 * 1000 }.quit()