Please check what is included into new version of XML2Selenium and switch to it in your development.
New functional of version 1.23
1) Modal windows work better now. Framework closes them when test finish. Using <window> tag now forbidden when you work with modal windows.
2) Added possibility to change variables. Following attributes added: <variable>:
- changeable (true/false) – specifies if variable can be changed during test, false by default
- change – specifies variable ref which value we want to change. Changing value only available if changeable=true specified for it.
Example:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Create variable with value 111 -->
<variable ref="var1" changeable="true" value="111"/>
<!-- Change value to 555 -->
<variable change="var1" value="555"/>
<assert first="${var1}" second="555" action="equals"/>
</test>
You can change variables described above:
<variable ref="var1" changeable="true" value="111"/>
<frame>
<variable change="var1" value="777"/>
<assert first="${var1}" second="777" action="equals"/>
</frame>
You can not access variables which described in frame outside this frame:
<frame>
<variable ref="var1" changeable="true" value="111"/>
</frame>
<variable change="var1" value="777"/>
3) Added feature to break <iterate> loop. Iterate tag now has attribute variableCondition. You can specify variable ref in this attribute. Loop stops if variable is true. If you do not create variable with specified name before, <iterate> does this automatically. If variable with specified name exists, it becomes false when iterate starts.
Example:
<frame ref="breakFrameOnSecondIteration">
<echo message="${Integer.parseInt(count)+1}"/>
<variable change="count"
value="${Integer.parseInt(count)+1}"/>
<variable change="condition"
value="${Integer.parseInt(count)=4}"/>
</frame>
<iterate for="1,2,3,4,5" variableCondition="condition"
var="i" run="breakFrameOnSecondIteration"/>
4) Added action getHTML to <webelement>:
- getHtml – saves html source by specified locator to variable, which name specified in returnValueName attribute.
Example:
<webelement action="getHTML" xpath="//div[1]"
returnValueName="html" />
5) Implemented architecture improvements which allow to specify order of plugin calls when some event comes. This improvement allows plugin developers to make more flexible settings.
6) Improved xml validation: if you specify wrong action or attribute value, framework wouldn’t execute test and throws “Parsing error”. Also XSD does not hint some wrong attributes now.
Problems fixed
1) NullPointerException, if groovy-variable is not found.
2) Behaviour report is not generated if you specify not exists variable.
3) NullPointerException on linux machines when specify path started from “/” in <property> tag.
4) When change combobox value using <combobox>, onchange browser event wasn’t fired.
5) When test name contains ‘%’ Business and Behaviour reports no displayed correctly. Now ‘%’ is forbidden in test and testcase names.
You are able to get more information about XML2Selenium if study information below:
In order to help you we published in public access a set of report XML2Selenium generates:
- Master – for product development we have created more than 600 tests and constantly add new. This is done for constant increase of coverage of product functionality. That makes it more stable and reliable. You could study that tests, they contain lots of useful examples.
- SmokeTest – Master always should be stable, but on a practice we always meet fail, error. In order to check different combinations we are supporting special set of tests (near 250) which shows all possible situations – failed tests, validation error and many others. Such build and tests allows us to make manual testing of our product before release. And also it allows us to create automated tests which cover SmokeTest reports. Such automated tests are written on XML2Selenium. Thus we cover own report by own and the same instruments, what means we constantly use XML2Selenium in practice. Please study the tests to understand which error situations could happen.
- SelfTesting – as it was said we are creating tests (now 150) covering our SmokeTest reports. That SelfTesting reports shows result of such tests, and helps us to cover as much as we could of our product with automated tests. This improves automated regression of tests.
- BestPractices – we created these tests especially for you! You are able to study how to work with XML2Selenium, using BestPractices reports and WebView functionality. All the tests are separated on 3 levels: Basic, Intermediate, Advanced. Every level has tests of such types: Basic tasks (everyday routine tasks), Iterative tests (show how to create tests step by step), Product features (shows nice features of XML2Selenium), Popular services (cover Twitter, YouTube and other services), and also WordPress tests (on the example of most popular CMS system WordPress show how to work with concrete product).
Documentation of XML2Selenium
- Full manual
- Reference card
- XSD schema, which required for auto-completion when tests are created
- Interactive guide
Support services:
Skype: xml2selenium
Email: xml2selenium@jazzteam.org