XML2Selenium Technical Presentation
-
Upload
jazzteam -
Category
Technology
-
view
536 -
download
1
description
Transcript of XML2Selenium Technical Presentation
![Page 1: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/1.jpg)
Why it is createdTraditionally many companies doesn’t have enough investments into QA engineers level, but
complexity and complication of software products, as well as amount of use cases to be covered grows. Companies meet a barrier, when overall auto-test architecture has the same engineering level as main application.
The main problems here are:- how to support and test many installations of product at the side of customer- how to test and make regression of several versions of the same product (branches, releases)- reusability and absence of copy-paste. You always have the same components not only at one
product, but at many products at the same company. We need a way to reuse common approaches and best practices
- possibility to change test data quickly and effectively (e.g. to use the same code base of auto-tests for different installations of product). Data-driven testing.
- availability of auto-testing platform to change values at many controls, and even logic of test cases- a way to control the coverage and make a mapping between automation test cases and real
business use cases. Regression and test plan development. Management of automation.
![Page 2: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/2.jpg)
IntroductionRun of XML2Selenium tests through JUnit
![Page 3: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/3.jpg)
How it looks likeUse of imports, plugins, includes (frame) and even scripting
![Page 4: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/4.jpg)
How it looks likeScripting and JVM parameters. Take a screenshot!
![Page 5: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/5.jpg)
How it looks likeImports, tags and different actions
![Page 6: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/6.jpg)
How it looks likeInheritance, overriding of attributes
![Page 7: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/7.jpg)
How it looks likeInheritance
![Page 8: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/8.jpg)
How it looks likeSelf-diagnosis
![Page 9: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/9.jpg)
How it looks like
![Page 10: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/10.jpg)
How it looks likeLoad variables from property file. Self-diagnosis.
![Page 11: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/11.jpg)
IntroductionSelf-diagnosis example. This is how we check framework works.
![Page 12: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/12.jpg)
Introduction
![Page 13: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/13.jpg)
IntroductionAuto-tests project structure
![Page 14: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/14.jpg)
Jenkins screenshots
Amount of builds, tests, plugins
![Page 15: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/15.jpg)
Introduction
![Page 16: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/16.jpg)
Introduction
![Page 17: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/17.jpg)
IntroductionTree of events
![Page 18: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/18.jpg)
Introduction
![Page 19: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/19.jpg)
IntroductionBuilding global tree of results for all test cases for further business reporting
plugins processing
![Page 20: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/20.jpg)
IntroductionMaking parsing trees
Concrete test case name
![Page 21: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/21.jpg)
IntroductionOutput folder for every test
Self-diagnosis
![Page 22: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/22.jpg)
IntroductionData-driven testing (for which test case which exceptions to have)
![Page 23: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/23.jpg)
Business reportingTag cloud, test cases, tests, description,tests status
![Page 24: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/24.jpg)
Business reporting
![Page 25: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/25.jpg)
Business reporting
![Page 26: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/26.jpg)
IntroductionFull mode for exceptions output
![Page 27: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/27.jpg)
IntroductionUser-mode for exceptions
![Page 28: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/28.jpg)
Now / User- Possibility for not-programmer to create good tests without copy pasting and which are
easy-to-change- Scripting inside attributes- Contexts for container elements/tag and areas of visibility (the same approach as with
programming)- Data-driven testing through variables and support of resource bundles (property files)- Inheritance, OOP style in XML- Business reporting, easy to add new views (e.g. behavior driven testing view). Different
from junit reports. No needs to use BDD framework – all is in!- Intelligent logging system. Simple and easy-to-understand exception messages.
Exception trace contains the full stack of includes- Plugins. The base pack for testing web application. Possibility to create new packs of
plugins for GUI etc. Screenshot. Snapshot. Video plugin. - Test case intelligent validation.
![Page 29: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/29.jpg)
Now / Technology- Possibility to have self-diagnosis. Tests for platform are written at the same language as UI tests. This means framework
could be used for integration tests as well (expected exception/exception message for test cases and tests)- Plugins. All is plugins – tags, reports, everything. Very close to eclipse plugin system. Extension points, simple plugin
API.- Tag-based separation.- Repositories of plugins and xml reusable includes = maven + nexus = open source = for free!- Selenium integration. But we do not have strict dependency from it, another UI running technology could be added.- Junit + Jenkins integration. But again independence from them. - Possibility to run framework in any type of runtime, even in web application- SAAS/cloud support.- Thread saved, you could run many instances of XML2Selenium in many threads. Output data is put to different
directories.- You could write a test where we run a core of XML2Selenium and then programatically analyze results of it (event based
subscription)- Busines reports in many formats – tags, bdd, a link to initial XML test case, to snapshots and screenshots, etc.- Jaxb based- Plugins could be just POJO- For not SAAS products (needs installation at customer side) – you could change data input properties and apply them to
the same code base of auto XML tests
![Page 30: XML2Selenium Technical Presentation](https://reader036.fdocuments.us/reader036/viewer/2022070301/545b1a7eb1af9f40378b5b7b/html5/thumbnails/30.jpg)
Future / All- XML2Selenium platform - we have opportunity to use such tests for load testing- We could make remote debug on server side not using java sources, but going through
XML test case lines- infrustructure - eclipse plugin - simple editor for creating new tests even without
knowing xml- Validation (including validation of XSD + POJO java beans)- data driven testing. Custom randomizers.- Plugins. If/For tags. Technical report plugin.- Possibility to exchange variables between contexts of tests and scripts (java script and
groovy are supported)
product company- For different releases and versions of product you could have 1 branch of the tests, just
making different tests cases for different versions of products