|
|
| (26 intermediate revisions by 3 users not shown) |
| Line 1: |
Line 1: |
| Here be some Selenium guidelines (mostly for writing, but include running here too).
| | You want https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/Testcases/Guidelines |
| | |
| =IDE=
| |
| * click vs. clickAndWait - use the latter on anything that requires network activity, but if you use the former on other buttons/links, your script will pause indefinitely
| |
| * verifyLocation - use w/regexp; otherwise it'll be absolute (I think)
| |
| ** e.g. ...
| |
| * wherever possible, use relative--not absolute--URLs in |open| commands
| |
| =PHP=
| |
| * Locating elements
| |
| ** 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
| |
| in it (id('addon-2464')/a[1]) and we do not know the add-on ID then
| |
| we can write the xpath with 'contains'
| |
| //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
| |
| //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
| |
| //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
| |
| //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
| |