QA/Execution/Web Testing/Selenium Guidelines: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 9: Line 9:
* Locating elements
* Locating elements
** xpath: for elements that have dynamically generated xpaths use 'contains'.
** xpath: for elements that have dynamically generated xpaths use 'contains'.
for e.g. if xpath for 'remove add-on' link has the add-on ID  
  for e.g. if xpath for 'remove add-on' link has the add-on ID  
in it (id('addon-2464')/a[1]) and we do not know the add-on ID then
  in it (id('addon-2464')/a[1]) and we do not know the add-on ID then
we can write the xpath with 'contains'
  we can write the xpath with 'contains'
//div[@id,'addon-2464'][2]/a[1]) => //div[contains(@id,'addon- ')][2]/a[1]
  //div[@id,'addon-2464'][2]/a[1]) => //div[contains(@id,'addon- ')][2]/a[1]
** If you want to match on the text in an element
** If you want to match on the text in an element
//a[text()=’My Text’]: matches a link whose text is “My Text”  
  //a[text()=’My Text’]: matches a link whose text is “My Text”  
** If you want to match more than one string in attribute or text
** If you want to match more than one string in attribute or text
//a[contains(text(),’Bill’) && contains(text(), ‘Clinton’)]: matches a link whose text contains both Bill and Clinton. You can use any xpath function or operator to create your expression
  //a[contains(text(),’Bill’) && contains(text(), ‘Clinton’)]:matches a link   whose text contains both Bill and Clinton. You can use any xpath function or operator to create your expression
** Find the nth element of a type
** Find the nth element of a type
//div[position()=3]: matches the third div on the page
//div[position()=3]: matches the third div on the page
//div[@id=’abc’]//table[position()=3]: matches the third table inside the div whose id is abc
//div[@id=’abc’]//table[position()=3]: matches the third table inside the div whose id is abc
169

edits

Navigation menu