extension ExtPose

Selenium Page Object Generator

CRX id


Description from extension meta

A nimble and flexible Selenium Page Object Model generator to improve agile testing process velocity.

Image from store Selenium Page Object Generator
Description from store 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.

Latest issues

  • (2016-12-06, v:1.2.9) sri krishna raghavendra: cant ablt o download page
    Hi, I am trying to download my application home page and it taking very long time and its not generating the POM page it self give me some suggestions to get that
  • (2016-10-24, v:1.2.9) RaviKiran Sandri: it would be good if end user can control over function names/Web-element names
    Hi, When we use this AddOn it is creating web element names and it corresponding function names like click are having some dynamic names. it would be good if we can control their names. Without this this addon will be not much useful.
  • (2016-09-28, v:1.2.9) Robert McCabe: Find by name
    Most of the elements are found by ID, but with some controls I want to access them by name. Is is possible to have an option to Find by name?
  • (2016-09-20, v:1.2.9) Carabat Gabriel: Selenium Page Object Generator - frame issues
    It doesn't work when in the page are specified frames. It is generated only a variable like: private final String pageLoadedText = "&lt;p&gt;This interface requires a frames-capable browser";
  • (2016-09-08, v:1.2.9) keshav reddy: Modifications to tool
    It is a great extension, now for rich pages the tool is generating lot of code. user has to spend extra time to grab the code what he wants. Can this tool be modified to grab the user actions and give the pages only with those elements?
  • (2016-07-30, v:1.2.9) Ext Guru: Partnership request
    Hello! I represent the company EXT.GURU. I have reviewed your extension, and I would like to invite you to work with our company. I have analyzed, that your extension "Selenium Page Object Generator" can bring you a guaranteed high income. You can get the maximum profit with our automatic service for monetizing browser extensions, while our advertising is not annoying or malicious, and does not prevent the extension of functionality. Our system optimizes traffic from around the world. We provide coordination of all the nuances and suggestions of webmasters. Payments are carried out upon request during one hour at a convenient system to you. We would also like to note that our system does not interfere with other systems of monetization, you can plug in our program as an additional method to generate an income. If you have any other extensions, we can discuss. We look forward to collaborating. Sincerely EXT.GURU team. Contacts ICQ: 654784658 Jabber: [email protected] Skype: extguru [email protected] [email protected]
  • (2016-06-23, v:1.2.9) Anirudh Kontham: Javascript Support??
    Are you planning any support for JavaScipt in the future?
  • (2016-06-14, v:1.2.9) Steve Beck: Selectors
    I want to use handlebars to generate Selectors in the same way it does {{attribute}} at default. What keyword would I use to generate Divs/spans/inputs etc? I've tried {{Selector}}, but havent tried Selector. as I don't know what to follow it with. Any help would be great. This is otherwise a really useful tool.
  • (2016-03-13, v:1.2.9) Luis Manuel Santana Gallego: working with frames
    Hi. I trying to use your tool with a page with different frames. Whit the selector "body" doesn't catch elements within different frames. How would I configure the tool if for example I want to work in this frame: html > frameset > frame(myFrame) ? Many thanks
  • (2016-03-13, v:1.2.9) Hemanth K P: How can i use Code after generated in JAVA
    Specific URL is not working - how can i use after code Generated in JAVA


10,000 history
3.8 (65 votes)
Last update / version
2018-04-07 / 1.3.1
Listing languages