A nimble and flexible Selenium Page Object Model generator to improve agile testing process velocity.
Selenium Page Object Generator is an essential tool to improve your workflow. It will generate Page Object Model on active Chrome tab with a single click, provided that all the options and template are configured. The generated Page Object Model will be saved to pre-configured Chrome download folder. It strives to reduce manual involvement, but manual tweak still recommended.
The template is using Handlebars.js expression, a clean logic-less semantic templating language.
This is an early BETA release, it expected to have rough edges, and limited functionality. It currently support 3 different targets: Java, C#, and Robot Framework.
*** "Restore to Factory Options" required to take advantage of latest changes ***
For more information on how to use the generated Page Object file:
Java: https://code.google.com/p/selenium/wiki/PageFactory#The
C#: http://relevantcodes.com/pageobjects-and-pagefactory-design-patterns-in-selenium/#post-5229
Robot Framework: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#taking-resource-files-into-use
Support Chrome 40 and later versions.
Disclaimer: Running Selenium Page Object Generator on somebody else's web page may or may not be illegal. Selenium Page Object Generator is intended for the use of any individual or entity on their own web page for the purpose of creating Page Object Model, and the Selenium Page Object Generator author will take no responsibility if it is put to any other use.
Version 1.3.1
* Fixes potential security vulnerabilities
Version 1.3.0
* Bugfixes and remove potential security vulnerabilities
Version 1.2.10
* Bugfixes
Version 1.2.9
* Bugfixes
Version 1.2.8
* Bugfixes
Version 1.2.7
* Cleanups
Version 1.2.6
* Bug fixes
* Offline support
Version 1.2.5
* Bug fixes
Version 1.2.4
* Bug fixes
Version 1.2.3
* Bug fixes
Version 1.2.2
* Employ more strategies to get label text
* Remove redundant equal sign in Robot Framework template
* Bug fixes and follow static analysis results
Version 1.2.1
* Add rating link in share section
* Popup will open in the middle of the screen
* Generate button stay disabled on hover
* Bug fixes and follow static analysis results
Version 1.2.0
* Consider node attribute as a possible element selector
* HTML decode attribute value
* Add message listener once
* Allow longer text in the documentation
* Add radio button value in attribute collection
* Remove radio button argument from operation
* Templates adjustment
* Add fallback mechanism for Options button
* Code restructure
Version 1.1.2
* Employ better and broader mechanism to get label text
Version 1.1.1
* Cancel default action on Options button click
* Rearrange object deep copy to die gracefully
* Use more specific CSS selector base on siblings and element type
* Consider element value for input button and submit for label text
* Adjust wording for root selector
Version 1.1.0
* Change default visibility to all (visible and hidden elements)
* Add textarea support
* Add support for email, number, search, tel, and url input type
* Add different approach to get element text more reliably
* Add support for label without identifier
* Add support for prefixed element type
* Add restore to factory settings
* Add AngularJS locators option for test framework that has support for it
* Add option to limit the page area that one would like to generate from
* Fix page object namespace that get dropped off from file name and generated page object
* Robot Framework template adjustments
* Add more documentation on generated page object for class instance return
* Fix C# XML documentation format
Version 1.0.5
* Fixed page name initial validation
* Faster popup load
Version 1.0.4
* Responsive layout adjustment
* Swapped "Options" and "Settings" wording
* Page name validation will be run on popup load,
this will make Page Name more obvious as a required field
* Mail sharer now support both native mail client and web-based client
Version 1.0.3
* Changed wording for "Model Name" to "Page Name"
* Changed wording for "Target Name" to "Destination Page Name"
* Changed wording for "More Options" link to "Settings" button
* Added share via email
Version 1.0.2
* Validate text visibility with viewport consideration
* Remove redundant information from generated CSS selector
* Removed all special characters from variable and method name
* Cleanups
* Bug fixes
Version 1.0.1
* Initial product launch
Latest reviews
- (2021-10-18) Mars: You have to keep the Filename short, then the download will start automatically. A lot of people, including me, were confused because there is no explanation on where to find the downloaded java file. It always says it downloaded a java file even though it doesnt. The quality of the generated file is as accurate as you might expect from an automatic generator but its still useful.
- (2021-07-22) Andrei Brebulet: takes less time to write a PO from scratch than it does to modify the ones generated with this extension
- (2019-07-21) Tauseef Ahmed: Hello Richard I looking forward to use selenium-page-object-generator from command-line, never had a luck as it throws the below error: node_modules/selenium-page-object-generator/bin/generate.js:100 window.close(); ^ TypeError: Cannot read property 'close' of undefined at Object.done (/Users/<<username>>/node_modules/selenium-page-object-generator/bin/generate.js:100:20) at reportInitError (/Users/<<username>>/node_modules/jsdom/lib/old-api.js:484:12) at ReadStream.resourceLoader.readFile (/Users/<<username>>/node_modules/jsdom/lib/old-api.js:223:11) at ReadStream.emit (events.js:198:13) at lazyFs.open (internal/fs/streams.js:115:12) at FSReqWrap.args [as oncomplete] (fs.js:140:20)
- (2019-05-10) Julio Alva: Once it is understood how it works, this tool allows to reduce considerably the generation time of the classes of the pages.
- (2019-04-15) Petronela Ciconova: I would need to identify elements by data-test-id attributes. Is it possible to do somehow?
- (2019-03-21) Aditya Wagh: I am new to selenium.I have seen many POM articles and examples. Why does this plugin generate return type Page name for all the methods?? Is it a good practice?
- (2018-09-25) Taylor Murphy: Ridiculous description. To improve your agile testing process "velocity"? An essential tool to improve my workflow? I have no idea what the extension even does. As a result, after trying it, I discovered it was useless to me. And the code it produces is just repeated boilerplate over and over with slight variations. I feel sorry for anyone who has to use the output of this extension.
- (2018-07-25) Delfin Devassy: Hi Richard, Selenium project has deprecated - using OpenQA.Selenium.Support.PageObjects; Can you please consider update this to traditional .Net page object pattern with expression body? Sample format - private IWebElement addThisCourse => Driver.FindElement(By.CssSelector("button.btn.btn--success.mod-margin-left-20"));
- (2018-05-14) Srikanth Narayanan: WIll it capture for IFrames? it doesn't.... Kindly let us know if you have ideas about including iframe as well
- (2018-04-30) Vijay Vedachalam: not sure why people say its not working. it generated the page in no time. But we need to clean up as it has generated for all elements. But this expected
- (2018-04-04) Sultan Mahmood: Useless spent lot of time..It says saved file but in reality it doesn't. Waste of time
- (2018-03-28) Basak Ates: does not work at all. says downloaded but there is notting. if page is loaded take forever . Do not install at all
- (2017-12-12) Leon Proskurov: creates non usable java files that require a lot modifications to make it usable
- (2017-11-27) Dakshesh Dalwadi: Good for other pages but not working for my company's product, so is there any solution for that?
- (2017-08-19) Nitin Vavdiya: Not working with Angular 2 pages.
- (2017-06-17) Jimmy Chu: can't use
- (2017-06-09) Teresa Peters: Timed out and never completed
- (2017-06-07) Jayesh Solanki: Great idea, saves lot of time. Great work
- (2017-05-23) Rahul Kinge: Awesome Tool Awesome People. Great work Indeed. Thanks alot.
- (2017-03-27) Сергей Сенько: Не работает.
- (2017-03-11) The Cyb0rgz: Great! Works cool and generates PageObject at a single click.
- (2017-02-07) Jason Stamis: Unfortunately it does not work for any of the pages in the product I am automating. This was true for the ASP pages, MVC pages and Angular pages. It just displays a progress bar forever. I was able to get it to work on a small login page and it seemed ok. that's about it though. I was hoping it would help speed up the process but it did not.
- (2017-01-26) subba: super easy & cool to the point how can we generate xpath based page objects ?
- (2017-01-17) Gordon M: Well done. Would love a Javascript option
- (2017-01-13) Martin Crockford: Fantastic when the page is simple but it has never worked for me on larger pages which is a real shame
- (2017-01-11) Darko Stefanovic: Great idea. I am prototyping a small framework on the top of Selenium WebDriver and this is immense help! Thank you very much.
- (2016-06-14) Guan Guan: Help reduce my automation time a lot. Highly recommend this to anyone who is creating Framework that utilize page object model.
Statistics
Installs
10,000
history
Category
Rating
3.8125 (64 votes)
Last update / version
2018-04-08 / 1.3.1
Listing languages
en-US