Koen Prins
2016-04-03 05:42:40 UTC
Hi All,
For training purposes I have been writing a test automation suit on the
MantisBT application using Selenium Webdriver in a Java binding. Currently
about 40% of the functionality has been covered and I have a question about
screen element naming.
Thing is, in Selenium you can use any locator using the following priority:
1. id
2. Name
3. Linktext
4. Partial Linktext
5. Tag Name
6. class name
7. Css
8. xpath
And now I find myself using xpath a whole bunch as there is nothing else.
Let me tell you, I hate XPath with a passion already as it is certain to
change often and not even waiting for a version upgrade. I find myself
needing to use XPath most often with buttons for some reason. Sometimes I
am lucky and I can use the css selector but honestly id or name would be
much better.
The end goal for me is to have a working Continuous Integration setup that
will use Jenkins to grab the latest build, set it up in a new database
(VirtualBox?), run the upgrade and run all the tests giving me a rundown of
the results. Local I will then XML all the defects cause there will be a
bunch that are tests failing for reasons of GUI upgrade, allowing me to
learn that as well.
What are the efforts in version 2 for naming everything with an id or at
least a name? Would the dev community be interested in an automated
regression set written in java (and check my effort so far over at github)?
Does anyone read this mailing list?
Grtz,
Koen
For training purposes I have been writing a test automation suit on the
MantisBT application using Selenium Webdriver in a Java binding. Currently
about 40% of the functionality has been covered and I have a question about
screen element naming.
Thing is, in Selenium you can use any locator using the following priority:
1. id
2. Name
3. Linktext
4. Partial Linktext
5. Tag Name
6. class name
7. Css
8. xpath
And now I find myself using xpath a whole bunch as there is nothing else.
Let me tell you, I hate XPath with a passion already as it is certain to
change often and not even waiting for a version upgrade. I find myself
needing to use XPath most often with buttons for some reason. Sometimes I
am lucky and I can use the css selector but honestly id or name would be
much better.
The end goal for me is to have a working Continuous Integration setup that
will use Jenkins to grab the latest build, set it up in a new database
(VirtualBox?), run the upgrade and run all the tests giving me a rundown of
the results. Local I will then XML all the defects cause there will be a
bunch that are tests failing for reasons of GUI upgrade, allowing me to
learn that as well.
What are the efforts in version 2 for naming everything with an id or at
least a name? Would the dev community be interested in an automated
regression set written in java (and check my effort so far over at github)?
Does anyone read this mailing list?
Grtz,
Koen