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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
PoohSunny
May 13, 2016
Technology
300
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
500
タウンワークをドライブさせるためになんちゃってアジャイルをやめた話 #devsumi #devsumiB / devsumi2018
poohsunny
30
47k
1 test 1 assert ?
poohsunny
0
510
XUTPから学ぶ記述性の高いユニットテスト 〜俺たちを助けるユニットテストへ〜 / xUTP in #xpjug
poohsunny
4
5.5k
XCUITestする時のTIPs 〜あなたを助けるXCUITestへ〜
poohsunny
0
3.2k
コードに思いが伝わる
poohsunny
0
380
横浜タネマキでGebと握手! #yokohamagroovy
poohsunny
0
460
The "yummy" licenses.
poohsunny
0
260
Other Decks in Technology
See All in Technology
GitHub Agentic Workflows を触ってみる
htkym
2
780
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
0
150
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
970
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
140
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
130
AWS FinOps Agent 結局何が得意なの?
siromi
0
210
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
16
12k
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
390
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
200
Goodbye ShellScript, Hello File-based App
shunsock
0
1.2k
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
220
Azure Copilot Resiliency Agentをいろいろ試してみる
tomokusaba
0
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
290
Prompt Engineering for Job Search
mfonobong
0
460
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
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
ඞࢮͰ͢ʂʂ
͝ڵຯͷ͋Δํͥͻʂʂ
͓͠·͍