class TC_R001_01_AN_EXAMPLE_TEST
Public Instance Methods
setup()
click to toggle source
Calls superclass method
ZZnamezzTestCase#setup
# File lib/taft_files/tests/v1/tc_r001_01_an_example_test.rb, line 8 def setup # specify setup parameters @certificate = :regular # this is the default user for this test @initialBrowser = :none # if you want this test to navigate to your webapp automatically as part of setup, change this value to the value referring to your webapp super # must call super so that the common setup method in ZZnamezzTestCase is called end
test_r001_01_an_example_test()
click to toggle source
# File lib/taft_files/tests/v1/tc_r001_01_an_example_test.rb, line 16 def test_r001_01_an_example_test ############################################################################################ # PURPOSE : # Verify that <description of your test's intent> # # PRECONDITIONS : # <list your preconditions> ############################################################################################ filename = "data_for_example_test.csv" # file must be in the data/ directory data = @help.read_csv_test_data(filename) header = data.shift # Step 1 : # Send a request to the yyrawnameyy API Options method random_row = data.random search_term = random_row[0] expected_result_count = random_row[1] # This is too raw - it would be better to bundle these lines into a separate "search_options" method, # with additional validation (e.g. to throw a clean error if the request failed) @client = @help.get_rest_client(:options, @certificate, search_term) json = client.get response = JSON.pretty_unparse(json) # Expected Result : # The request has succeeded & returned the expected results # This is quite brittle # A better approach is to create a new class which would parse the response & convert # it into a bespoke Object, so that the various values could be accessed in a better OO-fashion. # E.g. response.number_of_results. The object could also have extra methods, # e.g. response.check_results_are_valid, and so on. assert_equal(expected_result_count, response["number_of_results"], "The search request did not return the expected number of results") # Step 2 : # Log in to yyrawnameyy xxabbrevxx_login # Expected Result : # The yyrawnameyy homepage is displayed assert(xxabbrevxxHomepage.displayed?, "The yyrawnameyy homepage is not displayed") # Step 3 : # Enter in a search term and click the Search button. data.each do |row| search_term = row[0] expected_result_text = row[2] puts "Will now search for '#{term}'; expect to see '#{expected_result_text}'" xxabbrevxxHomepage.term = search_term xxabbrevxxHomepage.click_search # Expected Result : # Results are displayed assert(xxabbrevxxSearchResults.displayed?, "The yyrawnameyy search results page is not displayed") assert_equal(expected_result_text, xxabbrevxxSearchResults.result, "The yyrawnameyy search results page did not display the expected result") # Step 4 : # Return to the previous page browser.back # Expected Result : # The yyrawnameyy homepage is displayed assert(xxabbrevxxHomepage.displayed?, "The yyrawnameyy homepage is not displayed") # Step 5 : # Repeat steps 3 and 4 for a few more search terms # Actions performed in above steps # Expected Result : # Results are displayed for each term # Assertions performed in above steps end # end .each end