69
Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries Digital Projects Unit Tech Talk March 28, 2012

Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Web Browser AutomationWith Selenium IDE

By Andrew Weidner

University of North Texas Libraries

Digital Projects Unit Tech Talk

March 28, 2012

Page 2: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

1 Selenium IDE Basics

2 Digital Projects: Use Cases

3 Resources

4 Demonstration

Page 3: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium IDE Basics

OR

What It Is and How It Works

Page 4: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

"Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected."

Eric Steven RaymondThe Cathedral And The Bazaar

Page 5: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Firefox Plugindesigned for debugging Web applicationsautomates complex clickstreams

Any Operating Systemrunning Firefox 3 or later

Current Version: 1.7.2

Page 6: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium GUI

Page 7: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium GUI

IntegratedDevelopmentEnvironment

Page 8: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium GUI

IntegratedDevelopmentEnvironment

● create● debug● run

Page 9: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium GUI

IntegratedDevelopmentEnvironment

● create● debug● run

HTML Scripts akaTest Cases

Page 10: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Controls

Speed Slider

Play Buttons

RecordButton

Page 11: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Window Elements

Page 12: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Window Elements

Script File Name

Page 13: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Window Elements

Script File Name

Command Table

Page 14: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Window Elements

Script File Name

Command Editor

Command Table

Page 15: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Window Elements

Script File Name

Command Editor

InformationTabs

Command Table

Page 16: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Command Editor

Command Table

Page 17: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Table View

Page 18: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

Page 19: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands

Page 20: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands

Page 21: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

Page 22: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

Page 23: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

Page 24: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets(Page Objects)

Page 25: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values

(Page Objects)

Page 26: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values

(Page Objects)

Page 27: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

(Page Objects)

Page 28: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium Edit Interface

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

Source View

(Page Objects)

Page 29: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

Source View

(Page Objects)

Page 30: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

HTML Table

(Page Objects)

Page 31: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

HTML Table

(Page Objects)

Page 32: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

HTML Table

(Page Objects)

Page 33: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Script Components

1. Commands(Browser Actions)

2. Targets

3. Values(Menus, Text)

HTML Table

(Page Objects)

Page 34: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

Page 35: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

Wikipedia Search Script

Page 36: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

Wikipedia Search Script

Page 37: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | |

Wikipedia Search Script

Page 38: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | T |

Wikipedia Search Script

Page 39: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | Te |

Wikipedia Search Script

Page 40: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | Tex |

Wikipedia Search Script

Page 41: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | Texa |

Wikipedia Search Script

Page 42: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | Texas |

Wikipedia Search Script

Page 43: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

| open | http://www.wikipedia.org | |

| type | //div[@id='p-search']/form/fieldset/input | Texas |

| clickAndWait | name=go | |

Wikipedia Search Script

Page 44: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Command Syntax

| Command | Target | Value |

Wikipedia Search Script

Page 45: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Selenium GUIQuestions ?

Page 46: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Digital Projects: Use Cases

OR

Automated Metadata Editing

Page 47: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

"If you have the right attitude, interesting problems will find you."

Eric Steven RaymondThe Cathedral And The Bazaar

Page 48: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Types of Tasks

1 Interface Focus

2 Administrative Automation

3 Full Automation

Page 49: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Interface Focus

Dashboard Housekeeping

less visual clutter = easier to focus

Page 50: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Interface Focus

Page 51: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Interface Focus

Page 52: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Interface Focus

| click | link=Collapse All Fields | |

| click | id=item-title | |

| click | id=item-date | |

| click | id=item-description | |

| click | id=item-coverage | |

| click | id=item-note | |

Page 53: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Administrative Automation

Dashboard Databot

less repetitive data entry = improved concentration

Page 54: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Administrative Automation

Base Realignment And Closure (BRAC) Commission

10,000+ Objects

Incorrect Titles & DatesSub-standard Descriptions

Add Value with Subjects & Coverage

Page 55: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Administrative Automation

Page 56: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Administrative Automation

Page 57: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Administrative Automation

| click | css=image[alt=”add”] | |

| select | //div[@id='main']/div/div[4]/div/select | Added Title |

| storeValue | //div[@id='main']/div/div[2]/div/input | BRACtitle |

| type | //div[@id='main']/div/div[4]/div/input | ${BRACtitle} |

| type | //div[@id='main']/div/div[2]/div/input | [Memorandum of Meeting: ] |

| setCursorPosition | //div[@id='main']/div/div[2]/div/input | 24 |

Page 58: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

Dashboard Cruise Control

automated editing = improved accuracy

automated editing = more time for ________

Page 59: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Congressional Research Service (CRS) Reports

10,000+ Objects

>5,000 did not have Creation Dates

Creation Date was present in the Identifier

FullAutomation

Page 60: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

Page 61: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

Page 62: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

Page 63: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

The last two commands Publish the record & Close the tab. The next script in the suite runs on the next tab until there are either no more scripts or no more tabs.

TestSuite

Page 64: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

FullAutomation

Quality Control Commands

assertValue: tests the value of menu / text input (supports regular expressions for text)

assertElementPresent: tests for presence of object

assertElementNotPresent: tests for non-presence of object

Page 65: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Resources

OR

Selenium for Fun and Profit

Page 66: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

DPU Wiki

Selenium Documentation

Google Groups

Selenium in the Cloud

http://saucelabs.com/

Other HowTos > Install and Use Selenium

Selenium Users & Selenium Developers

http://seleniumhq.org/docs/02_selenium_ide.html

Page 67: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Useful Firefox Plugins

Firebug: dynamically view page source for debugging

Power Debugger: adds a “Pause On Fail” button

Highlight Elements: highlights elements during test runs

Favorites: opens and executes favorite scripts & suites

Linky: opens multiple links for batch processing

Further Inquiry

Selenium WebDriver/Server/Grid: set of tools for runningtests across multiple machines & operating systems.Supports other browsers & programming languages.

Page 68: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Questions ?

Page 69: Web Browser Automation With Selenium IDE/67531/metadc78279/m2/1/high_res_d/Selenium... · Web Browser Automation With Selenium IDE By Andrew Weidner University of North Texas Libraries

Demonstration

UNT Libraries Toolkit

Portal To Texas History Slideshow