Spelling and Casing:
Page 15
*Inevitably*, a defect will show up
*Repetitive* tasks that must be executed
Page 17
fraction of the time it takes to write *production* code
Page 18
and an *XML* file.
Page 20
should begin *regularly* running the tests
Using the language of the *business* will not only
Page 23
After the *extraction* completes*,* return to the command prompt
Page 24
used to install *UNIX* like tools
Page 26
sudo at the front of the *preceding* line.
Page 27
If you wish to use Internet *Explorer*, you have
Please read this page to get the *latest* details
If you already have a *preferred* editor or
Page 31
When you visit this *URL*, you should see
Page 46
kind of a very high-level *DSL*: we are describing
Page 52
don't worry about the *gobbledygook* that looks like
Page 54
It is handy *shorthand* for data-intensive testing
Page 56
The shopping cart data is stored in an *HTML* table.
Page 57
web application development practice to create *HTML* elements that do
Page 58
more complicated when it is *warranted*
Page 59
It is *OK* if hundreds of tests fail due to a change
but it is not *OK* if we have to go to multiple places
Page 70
test suite we are simply *referring* to 'place_holder'
Page 76
instance variable from a *variety* of paths
*Luckily* the PageObject gem has a solution
Page 78
Specifying the *URL* for a page
Passing a *URL* to the page_url method
is one way to specify the *URL* for a page
return a string that is the *URL* for the page
What can you do if your *URL* is dynamic?
them used in the page *URL* by using an optional
in your page *URL* you would simply declare your *URL* like this
If you need to check what *URL* will be used when you call
Page 80
We could use *XPath* to locate the button
Page 86
Use *your* best *judgment* on when you believe it
Page 91
top level key and *delivers* it to your package
This is important because it is how *YAML* identifies element
Page 94
whatever proceeds this *symbol*
Page 103
First of all, you will go to a *URL* that is the landing page
Page 111
directory within the Cucumber *directory* structure
Page 113
describe as something *similar* to a Feature
and an it as similar to a Scenario
Page 116
like the base *URL* (which we have)
Page 120
table with *an* entry in the Adoptions table
Page 123
I think the last Scenario *satisfies* the C
Page 125
Create a new file in the *database* directory named adoption_factory.rb
Page 134
XML is *everywhere* in the enterprise
find it driving many *application* build systems
for a team to be *dependent* on a service that is
Page 135
*Nokogiri* reads and parses the XML from
Page 136
We'll start by using *XPath* to find all of the
We would do this by calling the *XPath* method from
Page 137
The good news is that the *CSS* version
calls is very *similar*
Page 139
variable and call the *XPath* method to find the
Page 140
my solution starting *the* scenario.
Page 144
We got the *URL* for the WSDL from the
Page 149
When your *application* makes a call to the
it will *receive* the JSON response you registered
Page 151
With the *proliferation* of smart mobile phones
Page 152
path to the *SDK* directory in the
Page 156
not place the *APK* and keystore
to the application *APK* that I would
Page 157
we did something very similar when we were
inside of the *APK* file and then repackage
set the location of the *APK* file
Page 158
It simply *displays* the 4 list of puppies
Page 160
we are using the *built-in* Ruby capability
Page 161
type of "*Australian*" Cattle Dog
Page 165
Gametel also works *seamlessly* with other gems
Page 168
renders clean *HTML* and we simply located the
share information about *their* products on this
capitalize on this new *audience*
more interactive and rich *environment*
Page 169
In the old days of the *monolithic* single page
Page 170
running locally, you can go to the *URL*
Page 171
we need to wrap those *declarations* with a call
Page 174
here so let's *dissect* it and go over it
The gem is *intercepting* the call to popup
Page 179
so let's begin to *dissect* what's happening.
to include the full *URL*
The looked for ways to make web *applications* seem more
Page 181
We'll be *selecting* checkboxes and validating the values
Page 186
how to do this with a *fictitious* framework
Now *every time* I call the wait_for_ajax method
Page 187
It will come as no *surprise* to you that there is a
Page 188
to use the values from the *YAML* file
nest items to make your *YAML* file more readable
Page 189
add the configuration for the *Heroku* site
access to the database of the *Heroku* version
This file is a *YAML* file that defines things
Page 190
But how do we add the *Heroku* configuration?
tests to point at the *Heroku* site we need
cucumber to use the *Heroku* profile
Page 193
kick off with each check-in (hopefully more
Page 194
called the "dreaded integration week"
Page 195
should not slow *down* all other tests.
Just have *those* tests run as often as you can
Page 196
Cucumbers *HTML* format
Cucumber also has a built-in *HTML* report that
Cucumber *HTML* Report
Although Cucumber's *HTML* report is easy
Instead you *will* have to scroll through the
differences between the standard *HTML* report and
Page 197
nicer than Cucumber's standard *HTML* report
customize the *HTML* output in several ways
Page 198
with the appropriate *HTML*
It should be *similar* to the previous
with either of the *HTML* reports above
Page 199
when running through the user *interface*
and to help them make the *right* descisions
*Luckily* for *you*, there are many things we can do
Page 201
and the hub *URL* should be set to
Page 203
version, and host *OS* you get
Page 204
safari, *phantomjs* or iphone
underscore followed by the host *OS*
Currently the following host *OS* values are available
The host *OS* value is typically used when
Page 206
offers a nice set of *UI* controls
Page 212
that there is *a* div that is displayed
Page 213
included in the file is our *entry point* for the gem
Page 215
This method is a little more *complicated*
changes and push them to *GitHub*
Page 216
git repository and pushed to *GitHub*
we need to tage the *source code* and push
will tag the *GitHub* repository with the
Page 221
Return the *HTML* of the page or any element
Page 223
except it requires a *Boolean* parameter which
Page 225
Elements are the items that appear on the *HTML* page
Page 226
Return the *HTML* for the element
Page 229
The FileField class adds the following *methods*:
Page 231
#*Return* the height of the image
Page 241
*Equivalence*
Page 246
Post.find(:all, :order => '*column* desc')
Invalid References:
Page 26
This will install *FOUR* gems that will be used