feeding automated test by joe beale
TRANSCRIPT
But before we can get into those…
• We need to understand two Ruby object classes:1. Array – a group of data elements accessed using
subscripts (0…n)2. Hash – a group of key/value pairs where you
access the value via the key.
Array and Hash Methods
• Access an array value using the associated subscript and a hash value using the associated key:
What is a Scenario Outline
• If I want to do multiple searches, I have to change the parameters every time.
Scenario Outlines to the Rescue
• Conversion to Scenario Outline allows me to drive multiple searches with data!
What is an Inline Table?
• Suppose I want to feed multiple data elements through one step in the scenario?
• Example: several steps to get to a page and then multiple elements to enter on that page.
Inline Table With Header
• You can then use the table headers as hash keys to access the data in the rows:
What is a YAML file?
• YAML = “YAML Ain’t Markup Language”• Data serialization using colons and indentation
Using YAML
• Another way of using YAML files is for a list of items, like names of insurance companies:
Demo
• Demo of using YAML file for login ID and password, plus printing out the list of insurance name.
What is a CSV file?
• Comma Separated Value file; really just an ordinary text file that follows this format:
Using the Ruby CSV class
• Ruby has a built-in class CSV that is designed to help you manage these very common files.
Using the Ruby CSV class
• The .read method wraps our file into a CSV object. The result is an array of arrays:
Using the Ruby CSV class
• Even better, adding headers to the file and one argument to the method call creates a CSV table object:
The Ubiquitous Spreadsheet
• Almost everywhere you go in the IT world, you will find data in spreadsheets.
• Spreadsheets are so commonly used for test requirements that some tools have add-ins to use them for importing test artifacts.
• Spreadsheets are the main source of data for data-driven automation tools.
Introducing Simple XLSX Reader
• There are several gems that allow you to access spreadsheet data in Ruby. I prefer Simple XLSX Reader for input data.
• To install, add to Gemfile:
Using Simple XLSX Reader
• Let’s look at a scenario where we will input and modify the data from a spreadsheet.
Using Simple XLSX Reader
• Since a spreadsheet file is really a set of sheets, we need to specify one sheet:
Using Simple XLSX Reader
• Now we can iterate through the array of arrays and identify the various cells using subscripts:
Bonus Code
• Finally, as a bonus, this is how you can take the modified sheet and write it out to a new .csv file that can then be opened in Excel:
Demo
• Demo of using Simple XLSX Reader to input a spreadsheet into a Ruby object, plus modifying the data and writing out to a new .csv file.
Questions?Contact me:[email protected]
Or:Connect with me on LinkedIn!https://www.linkedin.com/in/joseph-beale-023b719