Selenium, en fjärrkontroll för dina browsers. Fett för webbplatstester.

På min Mac:


# Rename this file to config.yml in order to configure the plugin

#
# General settings
#

environments:
  - test

#selenium_path: 'c:\selenium' #path to selenium installation. only needed when selenium isn't installed in /vendor/selenium or as a gem

#
# Task settings
#

browsers:
  firefox: '/Applications/Firefox.app/Contents/MacOS/firefox'
#  ie: 'c:\Program Files\Internet Explorer\iexplore.exe'

port_start: 3000
#port_end: 3005
max_browser_duration: 120

Som du ser har vi inte ändrat mycket. Jag har selenium liggande i /vendor/selenium OCH som gem.

Nu:

Nu ska vi skriva om testen, så att den gör något specifikt för din applikation.

OK, för att slippa skriva tester i “Selenese”, så ger du filen rsel-suffixet:


# The user clicked the link in the email. Now she comes to the enter details page, 
# and enters her details, which at first gives errors, on incomplete input, then
# lets her through.
# Using IDs on the HTML elements (such as forms) simplifies scripting tests.

setup :keep_session
setup :fixtures => :all

# The fixture key asd-asd-asd-asd-asd should be connected to [email protected]

open '/user/email_link/?userkey=asd-asd-asd-asd-asd'
assert_title 'Le Web App' # Check TITLE element
assert_text_present 'Your Account'
verify_value 'user_email', '[email protected]'

# Just submitting this form should yield errors

submit_and_wait 'user-details'
assert_text_present '3 errors prohibited this user from being saved'
assert_text_present "Password confirmation can't be blank" 

# Entering only a username shows fewer errors

type 'user_username', "theuser" 
submit_and_wait 'user-details'
assert_text_present '2 errors prohibited this user from being saved'

# Correct, full information should yield 0 errors

type 'user_password', "hurra" 
type 'user_password_confirmation', "hurra" 
submit_and_wait 'user-details'
assert_text_not_present 'errors prohibited this user from being saved'

Värt att notera är att user-details är HTML-elementets ID för det formulär jag arbetar med. Förenklar scriptingen mycket, att ge saker ett ID.

För att upptäcka mer av Selenium-syntaxen, ladda ner Selenium IDE som är en addon för Firefox. Du har den installerad? Bra. Öppna den med Tools/Selenium IDE. Det finns ett textfält som heter Command, med en neråtpil. Klicka på pilen och kolla i listan över tillgängliga kommandon. De är camelCased, men du skriver ju i RSel, så du “underscorizar” namnen i ditt script.

Grejer

Revised on December 07, 2006 17:48:01 by Olle Jonsson