Beach Parasol Don't get burned at the Seaside Kris Gybels 2Rivers - - PowerPoint PPT Presentation

beach parasol
SMART_READER_LITE
LIVE PREVIEW

Beach Parasol Don't get burned at the Seaside Kris Gybels 2Rivers - - PowerPoint PPT Presentation

Beach Parasol Don't get burned at the Seaside Kris Gybels 2Rivers maandag 9 september 13 maandag 9 september 13 maandag 9 september 13 maandag 9 september 13 GUI-Testing Smalltalk-AJAX/SJAX web applications with Selenium Carsten Hrle @


slide-1
SLIDE 1

Beach Parasol

Kris Gybels 2Rivers

Don't get burned at the Seaside

maandag 9 september 13

slide-2
SLIDE 2

maandag 9 september 13

slide-3
SLIDE 3

maandag 9 september 13

slide-4
SLIDE 4

maandag 9 september 13

slide-5
SLIDE 5

GUI-Testing Smalltalk-AJAX/SJAX web applications with Selenium Carsten Härle @ ESUG 2012

maandag 9 september 13

slide-6
SLIDE 6

Selenium Remote Control Selenium WebDriver Proxy server + Javascript injection Native browser automation support (plugin, ...) ✔ ✘

maandag 9 september 13

slide-7
SLIDE 7

Selenium Remote Control Selenium WebDriver

selenium.click("id=the_link"); WebElement element = driver.findElement(By.id("the_link")); element.click();

<a id="the_link" style="display: none" href="http://www.wikipedia.org"> Invisible Link to Wikipedia</a>

maandag 9 september 13

slide-8
SLIDE 8

Selenium Remote Control Selenium WebDriver

Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost/"); selenium.start(); selenium.open("/page.html"); selenium.click("id=the_link");

More Object-Oriented API

WebDriver driver = new FirefoxDriver(); driver.get("http://localhost/page.html"); WebElement element = driver.findElement(By.id("the_link")); element.click();

maandag 9 september 13

slide-9
SLIDE 9

WebDriver driver = new FirefoxDriver(); ChromeDriver IPhoneDriver AndroidWebDriver HtmlUnitDriver ... RemoteWebDriver

Network connection

WebDriver remoteDriver = ... driver := BPRemoteWebDriver new.

selenium-server-standalone-2.31.0.jar

maandag 9 september 13

slide-10
SLIDE 10

maandag 9 september 13

slide-11
SLIDE 11

BPRemoteWebDriver findElementByID: idString findElementsByXPath: xpathString getPageSource getKeyboard RemoteWebDriver WebElement findElementById(String using) List<WebElement> findElementsByXPath(String using) String getPageSource() Keyboard getKeyboard() WebElement String getAttribute(String name) void click() BPWebElement getAttribute: nameString click Keyboard void sendKeys(CharSequence... keysToSend) BPKeyboard sendKeys: Actions Actions doubleClick() Actions doubleClick(WebElement onElement) BPActions doubleClick doubleClick:

maandag 9 september 13

slide-12
SLIDE 12

maandag 9 september 13

slide-13
SLIDE 13

maandag 9 september 13

slide-14
SLIDE 14

maandag 9 september 13

slide-15
SLIDE 15

Join! Porting: VisualWorks, Stephan Eggermont Squeak, Tobias Pape Your favorite Smalltalk, You Completing

maandag 9 september 13

slide-16
SLIDE 16

Demo

Explicit & Implicit Waiting

maandag 9 september 13

slide-17
SLIDE 17

kris@yesplan.be

maandag 9 september 13