Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
さいきんのGebしってますか? #jggug
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
PoohSunny
May 13, 2016
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
さいきんのGebしってますか? #jggug
#jggug でのLTです。
https://jggug.doorkeeper.jp/events/43554
PoohSunny
May 13, 2016
More Decks by PoohSunny
See All by PoohSunny
ドレイファスモデルの紹介 / introduce Dreyfus model
poohsunny
1
1.8k
Make Work Visible in Agile2018 #LINE_DM
poohsunny
1
520
タウンワークをドライブさせるためになんちゃってアジャイルをやめた話 #devsumi #devsumiB / devsumi2018
poohsunny
30
47k
1 test 1 assert ?
poohsunny
0
530
XUTPから学ぶ記述性の高いユニットテスト 〜俺たちを助けるユニットテストへ〜 / xUTP in #xpjug
poohsunny
4
5.5k
XCUITestする時のTIPs 〜あなたを助けるXCUITestへ〜
poohsunny
0
3.2k
コードに思いが伝わる
poohsunny
0
390
横浜タネマキでGebと握手! #yokohamagroovy
poohsunny
0
470
The "yummy" licenses.
poohsunny
0
280
Other Decks in Technology
See All in Technology
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
210
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
440
新卒エンジニア、 介護士になる
ryu1013
1
690
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
320
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
190
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
120
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
650
AI AgentによるEmbedded SREの取り組み
tgidgd
1
360
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
410
GCASアップデート(202607-202610)
techniczna
1
240
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
170
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
520
Documentation Writing (for coders)
carmenintech
77
5.6k
Being A Developer After 40
akosma
PRO
92
590k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
A better future with KSS
kneath
240
18k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Optimising Largest Contentful Paint
csswizardry
37
4k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
͍͖͞ΜͷGeb ͬͯ͠·͔͢ʁ @PoohSunny 2016/05/13 #jggug
͝ແࠫଡͯ͠·͢
@PoohSunny work: [ "WebΤϯδχΞ", "Gebͷਖ਼͍͠ಡΈํΛ͑Δ" ] community: [ "TDDBC", "Agile
Samurai Base Camp", "ຊSeleniumϢʔβʔίϛϡχςΟ" ]
ΑΖ͘͠ ͓Ͷ͕͍͠·͢
None
ϒϥβΦʔτϝʔγϣϯπʔϧ ݱࡏͷ࠷৽όʔδϣϯ0.13.1
؆ܿͳهड़ import geb.Browser Browser.drive { go "http://myapp.com/login" assert $("h1").text() ==
"Please Login" $("form.login").with { username = "admin" password = "password" login().click() } assert $("h1").text() == "Admin Section" }
Gebͱ͍͑
2011 -> 2016 0.9.0 -> 0.13.1
࠷ۙͷGebͷ Ξοϓσʔτ
None
ϩΰ͕Ͱ͖ͨʂ
0.10.0
NavigatorʹcssϝιουΛՃ1 <div style="float: left">text</div> assert $("div").css("float") == "left" 1 http://www.gebish.org/manual/current/#focus
͓ྡ͞Μͷऔಘ͕Մೳʹ1 <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.d").next() == $("p.e") assert $("p.d").parent() == $("div.b") assert $("div.a").children() == $("div.b").add("div.f") 1 http://www.gebish.org/manual/current/#focus
toWait1 ϖʔδભҠ࣌ͷatνΣοΫʹwait͕͔͔Δ class PageWithTemplateUsingToWaitOption extends Page { static content =
{ asyncPageButton(to: AsyncPage, toWait: true) { $("button") } } } class AsyncPage extends Page { static at = { $("#async-content") } } 1 http://www.gebish.org/manual/current/#focus
0.12.0
WebDriverͷByΛαϙʔτ ݁Ռతʹxpathه๏Λαϙʔτ $(By.xpath('//p[@class="xpath"]'))
ϖʔδϨϕϧatCheckWaiting GebConfig্ͰͷઃఆΛϖʔδຖʹ্ֻ͚Δ class PageWithAtCheckWaiting extends Page { static atCheckWaiting =
true }
ϚχϡΞϧ͕Ascii Docʹ αϯϓϧಈ࡞͢ΔΑ͏ʹ
0.13.0
reportOnTestFailureOnly1 ςετ͕མͪͨ࣌ʮ͚ͩʯϨϙʔτΛऔಘ Spock, JUnit4Ͱαϙʔτ reportOnTestFailureOnly = true 1 http://www.gebish.org/manual/current/#focus
isFocused1 ΤϨϝϯτʹϑΥʔΧε͕͍ͨͬͯΔ͔ waitFor { nameInput.isFocused() } 1 http://www.gebish.org/manual/current/#focus
Geb͕·͢·͢ศརʹʂ
࿕ใ
JJUG CCC (5/21)
None
ඞࢮͰ͢ʂʂ
͝ڵຯͷ͋Δํͥͻʂʂ
͓͠·͍