When(/^I retrieve a table element$/) do @element = @page.table_id_element end When(/^I retrieve a table element by "(.*?)"$/) do |how| @element = @page.send "table_#{how}_element".to_sym end Then(/^the data for row "(.*?)" should be "(.*?)" and "(.*?)"$/) do |row, col1, col2| row = (row.to_i - 1) if row.to_i > 0 table_row = @element[row] expect(table_row[0].text).to eql col1 expect(table_row[1].text).to eql col2 end Then(/^the table should have "(.*?)" rows$/) do |number| expect(@element.rows).to eql number.to_i end Then(/^each row should contain "(.*?)"$/) do |text| @element.each do |row| expect(row.text).to include text end end Then(/^row "(.*?)" should have "(.*?)" columns$/) do |row, cols| expect(@element[row.to_i - 1].columns).to eql cols.to_i end Then(/^each column should contain "(.*?)"$/) do |text| row = @element[0] row.each do |column| expect(column.text).to include text end end When(/^I retrieve a table element bys "(.*?)" and "(.*?)"$/) do |param1, param2| @element = @page.send "table_#{param1}_#{param2}_element".to_sym end When(/^I retrieve a table element while the script is executing$/) do @element = @page.table_element(:id => 'table_id') end Then(/^the data for the first row should be "([^"]*)" and "([^"]*)"$/) do |col1, col2| expect(@element.first_row[0].text).to eql col1 expect(@element.first_row[1].text).to eql col2 end Then(/^the data for the last row should be "([^"]*)" and "([^"]*)"$/) do |col1, col2| expect(@element.last_row[0].text).to eql col1 expect(@element.last_row[1].text).to eql col2 end Then(/^I should see that the table exists$/) do expect(@page.table_id?).to be true end Then(/^the data for column "([^"]*)" and row "([^"]*)" should be "([^"]*)"$/) do |column, row, value| expect(@element[row.to_i - 1][column].text).to eql value end Then(/^the data for row "([^"]*)" and column "([^"]*)" should be "([^"]*)"$/) do |row, column, value| expect(@element[row][column].text).to eql value end Then(/^the data for row "([^"]*)" should be nil$/) do |row| expect(@element[row]).to be_nil end Then(/^the data for row "([^"]*)" and column "([^"]*)" should be nil$/) do |row, column| expect(@element[row][column]).to be_nil end When(/^I retrieve a table with thead element$/) do @element = @page.table_with_thead_id_element end Then(/^I should see the text includes "([^"]*)" when I retrieve it by "([^"]*)"$/) do |text, how| expect(@page.send("table_#{how}")).to include text end