Hi Everyone, I am putting a test together to confirm the correct data is displaying within a UI table. I found here that someone suggested using Nokogiri with watir webdriver and tried it out but i do not really understand what it is doing.
Related Article: https://groups.google.com/forum/#!searchin/watir-general/table/watir-general/jk58Xf0DomE/Vdwwz2pYndQJ First I get data through a URI search from elastic search using rest-client. data_to_validate = get_grid_data(request_caller_state('ID')) => {"Call Date"=>"2014-05-21 12:33:07", "Call Campaign"=>"pizza 1:1", "Transcription"=>"Processed", "Incoming #"=>"4442416734", "Tracking #"=>"4444731333", "Destination #"=>"4449206417", "Rings"=>5, "Duration"=>"184", "Call Disposition"=>"ANSWER", "Keywords"=>"", "Keyword Type"=>"", "Recording"=> "http://recordings.mongoosemetrics.com/unprocessed/e3fc47393f90720fc0fb6573fff5a541.wav", "State"=>"ID", "City"=>"POCATE", "Zip"=>"11122"} *UI Table* table_obj = @browser.table(:class=>'table table-striped table-bordered table-hover table-condensed table-checkable datatable').tbody myArray = data_to_validate.values check_table_vs_elastic_data(table_obj,myArray) def check_table_vs_elastic_data(table_obj,myArray) nokogiri = Nokogiri::HTML.parse(table_obj.html) nokogiri.css('tr').each_with_index do |tr, i| if tr.css('td').collect(&:text) == myArray *<== This the part I do not really understand. I understand the .collect(&:text) get all of the rows data. (I think)* puts "Row to click: #{i}" end end end When I run it I get all of this Nokogiri output and nothing that tells me it worked successfully. Part of the output: [#<Nokogiri::XML::Element:0x3ff2ab136f68 name="tr" children=[#<Nokogiri::XML::Text:0x3ff2ab139e70 "\n ">, #<Nokogiri::XML::Element:0x3ff2ab136b44 name="td" attributes=[#<Nokogiri::XML::Attr:0x3ff2ab139cf4 name="class" value="column-cdr_entry_date">, #<Nokogiri::XML::Attr:0x3ff2ab139ce0 name="style" value="white-space: nowrap; display: table-cell;">] children=[#<Nokogiri::XML::Text:0x3ff2ab13940c "\n 2014-05-21 12:33:07 ">]>, #<Nokogiri::XML::Text:0x3ff2ab1391dc "\n ">, #<Nokogiri::XML::Element:0x3ff2ab136b1c name="td" attributes=[#<Nokogiri::XML::Attr:0x3ff2ab139038 name="class" value="column-cdr_rated_code">, #<Nokogiri::XML::Attr:0x3ff2ab139024 name="style" value="white-space: nowrap; display: none;">] children=[#<Nokogiri::XML::Text:0x3ff2ab138750 "\n e3fc47393f90720fc0fb6573fff5a541 ">]>, #<Nokogiri::XML::Text:0x3ff2ab1384d0 "\n ">, #<Nokogiri: table html <table class="table table-striped table-bordered table-hover table-condensed table-checkable datatable"> <thead></thead> <tbody> <tr> <td class="column-cdr_entry_date" style="white-space: nowrap; display: table-cell;"> TEXT </td> <td class="column-cdr_rated_code" style="white-space: nowrap; display: none;"> TEXT </td> <td class="column-campaign_name" style="white-space: nowrap; display: table-cell;"></td> <td class="column-campaign_code" style="white-space: nowrap; display: none;"></td> <td class="column-campaign_billing_type" style="white-space: nowrap; display: none;"></td> <td class="column-mixed" style="white-space: nowrap; display: table-cell;"></td> <td class="column-account_code" style="white-space: nowrap; display: none;"></td> <td class="column-incoming_number" style="white-space: nowrap; display: table-cell;"></td> <td class="column-did_number" style="white-space: nowrap; display: table-cell;"></td> <td class="column-destination_number" style="white-space: nowrap; display: table-cell;"></td> <td class="column-rings_count" style="white-space: nowrap; display: table-cell;"></td> <td class="column-call_duration" style="white-space: nowrap; display: table-cell;"></td> <td class="column-duration_in_mins" style="white-space: nowrap; display: none;"></td> <td class="column-message" style="white-space: nowrap; display: table-cell;"></td> <td class="column-promocode" style="white-space: nowrap; display: none;"></td> <td class="column-keywords" style="white-space: nowrap; display: table-cell;"></td> <td class="column-keyword_type" style="white-space: nowrap; display: table-cell;"></td> <td class="column-recording" style="white-space: nowrap; display: table-cell;"></td> <td class="column-incoming_caller_name" style="white-space: nowrap; display: none;"></td> <td class="column-caller_state" style="white-space: nowrap; display: table-cell;"></td> <td class="column-caller_city" style="white-space: nowrap; display: table-cell;"></td> <td class="column-caller_areacode" style="white-space: nowrap; display: none;"></td> <td class="column-caller_zip" style="white-space: nowrap; display: table-cell;"></td> <td class="column-caller_timezone" style="white-space: nowrap; display: none;"></td> <td class="column-route_type" style="white-space: nowrap; display: none;"></td> <td class="column-email" style="white-space: nowrap; display: none;"></td> <td class="column-custom1" style="white-space: nowrap; display: none;"></td> <td class="column-custom2" style="white-space: nowrap; display: none;"></td> <td class="column-custom3" style="white-space: nowrap; display: none;"></td> </tr> </tbody> </table> Any help would be appreciated. If someone else has another suggestion that would be great too. I could multiple rows to validate. Thank you, Joe -- -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. [email protected] http://groups.google.com/group/watir-general [email protected] --- You received this message because you are subscribed to the Google Groups "Watir General" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
