In a web-application, we may interact with every element having some unique xpath or css. The elements were easily located with its attributes but the problem arises when each element in a list have same attributes.
Lets suppose we have HTML
<div class="gridRowData" itemprop="description">
<p/>
<ol>
<li>Develop framework with Selenium using Page Object Model technique.</li>
<li>Exposure at all stages of Software Development Life Cycle.</li>
<li>Implement manual test cases in Selenium.</li>
<li>Having good knowledge of manual testing and Automation testing at all levels of STLC.</li>
<li>Proficient in the areas of Functional, Component, Integration, User Acceptance Testing.</li>
<li>Test mobile applications on various iOS and Android devices.</li>
<li>Prepare test cases, test scenario, test data.</li>
<li>Prepare test environment to run the test cases.</li>
<li>Co-ordinate with technical development team to maintain the Process chart and timelines.</li>
<li>Co-ordinate with product stakeholders and understand the requirements.</li>
<li>Perform regression testing using Selenium.</li>
<li>Experience in Test Automation, Scripts Preparation and execution within the framework</li>
<li>Good exposure in Database testing using Selenium.</li>
<li>Good Expertise on Exploratory Testing using Domain Knowledge</li>
<li>Ensure delivery from development team is on time. Co-ordinate for the same.</li>
</ol>
We have to iterate through every 'li' tag and we do not have a unique attribute value for each row. So we will use .all() capybara method to iterate every row and then print every row before moving to next row.
def print_each_row
@session.all(:xpath, "//*[@class='gridRowData']/ol/li").each do |a|
puts "Row: #{a.text}"
end
end
This will iterate through each li and then print the text associated with each li tag. This all() method in capybara is equivalent to selenium findElements() method.
0 Comment(s)