automating canvas applications using selenium

15
Automating Canvas Applications Using Selenium Dave Hunt: @davehunt82 Andrew Smith: @andismith

Upload: davehunt82

Post on 28-Nov-2014

5.790 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Automating Canvas Applications Using Selenium

Automating Canvas Applications Using Selenium

Dave Hunt: @davehunt82Andrew Smith: @andismith

Page 2: Automating Canvas Applications Using Selenium

What is Canvas?

Page 3: Automating Canvas Applications Using Selenium

The Wilderness Downtownhttp://www.thewildernessdowntown.com/

Page 4: Automating Canvas Applications Using Selenium

20 Things I Learnedhttp://www.20thingsilearned.com

Page 5: Automating Canvas Applications Using Selenium

Pirates Love Daisieshttp://www.pirateslovedaisies.com/

Page 6: Automating Canvas Applications Using Selenium

<CANVAS>

Page 7: Automating Canvas Applications Using Selenium

DEMOHuman playing Helicopter

Page 8: Automating Canvas Applications Using Selenium

Inside Information

function gameData() {return {

altitude: 20,caveCeiling: [90, 80, 85],caveFloor: [10, 5, 10]

}}

Page 9: Automating Canvas Applications Using Selenium

Flight School

• Disabled obstacles

• Compensate momentum

• Field of vision

• Minimise requests

Page 10: Automating Canvas Applications Using Selenium

DEMOSelenium playing Helicopter without obstacles

Page 11: Automating Canvas Applications Using Selenium

Visual Feedback

• Reintroduced obstacles

• Created a ‘Heads up display’

• Fine-tuned field of vision

Page 12: Automating Canvas Applications Using Selenium

DEMOSelenium playing Helicopter with HUD

Page 13: Automating Canvas Applications Using Selenium

Crash Testing

def testShouldCrashIntoCeiling(self): base_page = BasePage(self.driver) base_page.start_game() base_page.engage_thrusters() base_page.wait_until_crash() self.assertEquals(base_page.helicopter_altitude, 90)

def testShouldCrashIntoFloor(self): base_page = BasePage(self.driver) base_page.start_game() base_page.wait_until_crash() self.assertEquals(base_page.helicopter_altitude, 14)

Page 14: Automating Canvas Applications Using Selenium

How can we do this?

• Work together

• Establish testing requirements

• Write automation hooks

• Consider visual feedback

• Create tests

• Cover your tracks