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

Latest Version

Version
1.3.1
Update
April 7, 2018
Size
335KiB
Developer
Category
Users
10,000+
Rating
3.8125 ★
Manifest Version
2
Web Store Status
Languages Support
English (United States)
See more
Permissions
ActiveTab
Downloads
Storage
See more

Selenium Page Object Generator Extension

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
Read more

Source Manifest.json

{
"update_url": "https://clients2.google.com/service/update2/crx",
"author":"Richard Huang ",
"browser_action":{"default_icon":{"19":"assets/icons/icon19.png",
"38":"assets/icons/icon38.png"},
"default_popup":"popup.html"},
"content_security_policy":"script-src 'self' 'unsafe-eval' https://www.google-analytics.com; object-src 'self'",
"description":"A nimble and flexible Selenium Page Object Model generator to improve agile testing process velocity.",
"homepage_url":"https://github.com/rickypc/selenium-page-object-generator",
"icons":{"16":"assets/icons/icon16.png",
"48":"assets/icons/icon48.png",
"128":"assets/icons/icon128.png"},
"manifest_version":2,
"minimum_chrome_version":"40",
"name":"Selenium Page Object Generator",
"options_ui":{"chrome_style":true,
"page":"options.html"},
"permissions":["activeTab",
"downloads",
"storage"],
"short_name":"PO Generator",
"version":"1.3.1"}
Read more

How to download and manually install Selenium Page Object Generator extension for Chrome

Looking for a way to install Selenium Page Object Generator extensions for Chrome, you can search for them in the Chrome Web Store, clicking the "Add to Chrome" button, and following the straightforward process.

However, you may need to install Selenium Page Object Generator extensions manually, this article outlines two simple methods to effortlessly install Selenium Page Object Generator extensions, whether they come as unpacked folders in compressed formats like .zip or as .crx files.

Method 1: Download Selenium Page Object Generator extension and manually install through Drag &Drop

If you ever need to manually install a Selenium Page Object Generator extension for Chrome, don't worry, it's a simple process. Just follow these easy steps, and you will have your extension ready to use in no time.

Step 1: Download the Selenium Page Object Generator Extension by clicking the "Download CRX" button on the website.

Look for the Selenium Page Object Generator extension you wish to install. Go to the website and download the Selenium Page Object Generator extension package, which is usually a .CRX file and comes in a zipped file. Here ".crx" file is the format for Selenium Page Object Generator extension that contains all the data.

Step 2: Extract &Arrange Files

Once the file is downloaded, extract that file into its own folder. Similarly, give that extension files a permanent home. In other words, keep it in a folder that you don't accidentally delete it because these files will be needed to make that extension work.

Step 3: Go to the Chrome Extensions Page

Open Google Chrome and in the address bar, type chrome://extensions; it will open the Google Chrome extensions page. Make sure that "My extensions" is selected in the sidebar.

Step 4: Drag and Drop the Extension

Now, go to the folder where you extracted the Selenium Page Object Generator extension and drag &drop the extension file from there anywhere onto the extension page within Google Chrome.

Step 5: Complete the Installation

Once you drag and drop the extension file, follow the steps that Google Chrome takes you through. Similarly, if the extension file is of .crx file format, you will be required to review the permissions and then add the extension.

Now, you can manage that added extension as you would like to with any other Chrome extension that you added through Chrome Webstore. Its icon will also appear in the Google Chrome Menu on the right side of the address bar once you activate it.

Method 2: Download Selenium Page Object Generator extension for Chrome and install in Developer Mode

This is another method to install Selenium Page Object Generator extension manually, but the twist is that here, you install by enabling the developer mode option provided in Google Chrome. This mode is commonly used for testing extensions or running unpublished tools.

Step 1: Download the Selenium Page Object Generator extension file

Select and download the Selenium Page Object Generator extension by clicking the 'Download CRX' button on the website.

Step 2: Extract the downloaded contents

Convert the file to a ZIP file if it is in CRX format then extract the Selenium Page Object Generator extension zip file or folder that you downloaded. Make sure you extract it using the same folder name and keep it safely in another folder, so you don't delete it by mistake. The extracted folder will be needed to keep your Selenium Page Object Generator extension running.

Step 3: Open Chrome Extension Setting Page

In the address bar of Google Chrome, type chrome://extensions and open the Chrome Extension Page.

Step 4: Enable Developer Mode

After opening the Chrome Extension page, look at the top right side, and you will find the toggle option of "Developer mode."Simply enable that developer mode option.

Step 5: Load the Unpacked Extension

Once you enable the developer mode option, you will see the menu of Load Unpacked, Pack Extensions and Update. From that, select the option "Load unpacked."

Step 6: Select the Extension Folder

Once the pop-up opens upon clicking Load unpacked, select the Selenium Page Object Generator extension directory and click on the "Select Folder "button.

Step 7: Confirm and Install

After you select an extension folder of a Google Chrome extension you're installing manually, confirm its installation for the final time and let the installation complete.

Conclusion

Here we've made a step-by-step guide on How to manually install Selenium Page Object Generator extension in 2 ways. We hope this guide proves helpful.

Similar Extensions

icon

Selenium Object Finder Extension · Developer Tools 10,000+ 20 ★ 181KiB

icon

Selenium Capture + Excel Generator Extension · Developer Tools 10,000+ 3 ★ 433KiB

icon

Selenium IDE Extension · Developer Tools 10,000+ 286 ★ 3.96MiB

icon

Applitools for Selenium IDE Extension · Developer Tools 10,000+ 11 ★ 2.45MiB

icon

ChroPath Extension · Developer Tools 10,000+ 1167 ★ 540KiB

icon

XPath Helper Extension · Developer Tools 10,000+ 597 ★ 247KiB

icon

Katalon Recorder (Selenium tests generator) Extension · Productivity 10,000+ 263 ★ 6.23MiB

icon

Element Locator Extension · Developer Tools 10,000+ 22 ★ 264KiB

icon

CSS Selector Helper Extension · Developer Tools 10,000+ 60 ★ 91.27KiB

icon

POM Builder – Auto-generate CSS/XPath Locator Extension · Developer Tools 10,000+ 28 ★ 1.98MiB

icon

Page Object Generator By Storm Extension · Developer Tools 10,000+ 1 ★ 295KiB

icon

SnapTest Extension · Developer Tools 10,000+ 23 ★ 9.27MiB

icon

E2E Test Builder Extension · Developer Tools 10,000+ 1 ★ 509KiB

icon

Robotcorder Extension · Developer Tools 10,000+ 18 ★ 210KiB

icon

BlazeMeter | The Continuous Testing Platform Extension · Developer Tools 10,000+ 159 ★ 2.17MiB

icon

Ranorex Selocity Extension · Developer Tools 10,000+ 51 ★ 6.59MiB

icon

SelectorsHub - XPath Helper Extension · Developer Tools 10,000+ 1384 ★ 556KiB

icon

xPath Finder Extension · Developer Tools 10,000+ 34 ★ 15.28KiB

icon

Ui.Vision Extension · Developer Tools 10,000+ 217 ★ 8.08MiB

icon

Catchpoint Script Recorder Extension · Developer Tools 10,000+ 16 ★ 2.1MiB

icon

CSS and XPath checker Extension · Developer Tools 10,000+ 45 ★ 75.17KiB

icon

Relative XPath Helper Extension · Developer Tools 10,000+ 50 ★ 350KiB

icon

XPath Helper Wizard Extension · Developer Tools 10,000+ 43 ★ 139KiB

icon

Page Modeller (Selenium, Robot Framework etc) Extension · Developer Tools 10,000+ 5 ★ 1.12MiB

User reviews

icon

Mars (ID: 000000f631828d77) Voted 3 ★ - Updated 10/18/2021 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.

icon

Andrei Brebulet (ID: 0000005eb7c38242) Voted 1 ★ - Updated 07/22/2021 takes less time to write a PO from scratch than it does to modify the ones generated with this extension

icon

Tauseef Ahmed (ID: 000000c4824fc17e) Voted 2 ★ - Updated 07/21/2019 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/<>/node_modules/selenium-page-object-generator/bin/generate.js:100:20) at reportInitError (/Users/<>/node_modules/jsdom/lib/old-api.js:484:12) at ReadStream.resourceLoader.readFile (/Users/<>/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)

icon

Julio Alva (ID: 000000c18357240c) Voted 5 ★ - Updated 05/10/2019 Once it is understood how it works, this tool allows to reduce considerably the generation time of the classes of the pages.

icon

Petronela Ciconova (ID: 000000256cf3fcbe) Voted 4 ★ - Updated 04/15/2019 I would need to identify elements by data-test-id attributes. Is it possible to do somehow?