Studio Fx on Rails 5.0

Post on 22-Feb-2016

29 views 0 download

description

Studio Fx on Rails 5.0. Demonstrating the Studio Fx API. Requirements. Software Ruby >= 1.8.6 Rails >= 2.3.2 gem install rails MySQL >= 5 Other Ruby Gems to install x ml/ libxml n et/https json Hardware (tested) Mac OS X Linux. MySQL. Install and configure MySQL - PowerPoint PPT Presentation

Transcript of Studio Fx on Rails 5.0

Studio Fx on Rails 5.0

Demonstrating the Studio Fx API

Requirements• Software

– Ruby >= 1.8.6– Rails >= 2.3.2

• gem install rails– MySQL >= 5– Other Ruby Gems to install

• xml/libxml• net/https• json

• Hardware (tested)– Mac OS X– Linux

MySQLInstall and configure MySQL

– Linux example• yum install mysql• yum install mysql-devel• yum install mysql-server• chgrp -R mysql /var/lib/mysql• chmod -R 770 /var/lib/mysql• service mysqld start

– set the passwords for your root account:• /usr/bin/mysqladmin -u root password 'new-password’

• Open MySQL and create the database– mysql –u root –p– create database fx_development;

Studio Fx On Rails

• Check out the source from mu-labs google_code:

• http://code.google.com/p/mu-labs/source/browse/trunk/analyzer/automation/Studio_Fx_On_Rails_5.0

Create the Database Tables

• Edit <root_dir>/config/database.yml– set the name of the MySQL database– set the MySQL root password

• Create the database tables– From <root_dir>:• rake db:migrate• This will create the tables that are defined in the

<root_dir>db/migrate directory (‘runs’ and ‘results’)

Run Rails

• Start the Rails server. From <root_dir>, run:– ruby script/server

• Open the browser to Rails– http://<host>:3000

• You should see the Rails Home Page – (next slide)

• Continue on to the Studio Fx Home Page– http://<host>:3000/runs

Rails Home Page

Studio Fx on Rails / Runs

Load templates from a Mu

• From the ‘Runs’ page:– Enter the IP address of the Mu– Click the 'Get Templates/Set IP' button

• Loads all of the Mu’s templates for– Scenarios– Test Suites– Hosts and Interfaces

Create a New Test Run: 1

• Click on the ‘New Run’ link and see:

Create a New Test Run: 4

• Select a Scenario and Test Suite, and click on the ‘Create’ button. Click on the ‘Back’ link to see the new Run

Set Hosts

• Click on the Edit link to set the Hosts

Run the Testsuite

• Click on the ‘Execute’ link to run the test suite– The browser will be busy until the test is

completed– When the test is done, click on the ‘Results’ link to

view the test results

View the Results

View Results Details

• Click on the ‘Show’ link to view more details, including the options and their values

Filter the Results• The results can be filtered by test name, run_id or both, and, in

all cases, to see only the 'latest' results

• /results?name=testname&run_id=1• /results?name=testname&run_id=1&latest

• /results?run_id=1• /results?run_id=1&latest

• /results?name=testname• /results?name=testname&latest

Sample Code

• Most of the interesting code is found here:– <root_dir>/app/models/run.rb• This code executes the Rails back-end commands,

creating the DdtApi object and invoking its methods– <root_dir>/lib/ddt_api.rb• The DdtApi class is where all of the Mu Studio Fx API

code is invoked

Mu Template fetching

• When we collected the templates from the Mu, we used a Mu REST Api – https://<MU_IP>/rai/rest/mu/findUsing?type=– Where types are Scenario and DDTSuite

• The test tool collected the responses and parsed them into hash maps, using the template names as keys and the uuid’s as values

Test Execution

• Executing the tests (run.rb:run_test) invoked the following sequence of calls from the DdtApi class:– new_session– load_scenario(uuid)– set_hosts– setup_test– run_test_suite

Collecting Results

• After the test completes, the tool:– calls the DdtApi.collect_results method– parses the results– adds them to the MySQL database (results table)

Other DdtApi methods

• Studio Fx on Rails does not use all of the DdtApi methods. Other available methods include– Methods that manage csv files (import, export and

run to verify the scenario)– post_template (to send a scenario or other xml

template to the Mu)– teardown_test (invoked when you are finished

using the Mu)