Added New Introduction files#4216
Conversation
WalkthroughThis update introduces two new markdown documentation files for Page Object Model (POM) wizards and updates the introductory content displayed in both the "Add POM From Screenshot" and "Update Multiple POM" wizards to reference these new files. The project file is updated to embed these markdown files as resources. Changes
Poem
Note ⚡️ AI Code Reviews for VS Code, Cursor, WindsurfCodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback. Note ⚡️ Faster reviews with cachingCodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure ✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMFromScreenshotWizard.cs(1 hunks)Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMScreenshotIntro.md(1 hunks)Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/UpdateMultipleWizard/UpdateMultiplePOMtIntro.md(1 hunks)Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/UpdateMultipleWizard/UpdateMultiplePomWizard.cs(1 hunks)Ginger/Ginger/Ginger.csproj(2 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/UpdateMultipleWizard/UpdateMultiplePomWizard.cs (1)
Ginger/GingerCoreNET/WizardLib/WizardBase.cs (1)
AddPage(137-141)
🪛 LanguageTool
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMScreenshotIntro.md
[misspelling] ~2-~2: This word is normally spelled as one.
Context: ...reate Page Object Models by uploading a screen-shot of a web page. The feature uses Azure O...
(EN_COMPOUNDS_SCREEN_SHOT)
[misspelling] ~5-~5: This word is normally spelled as one.
Context: ...e Objects Model? To create a POM from a screen-shot, simply upload your web page image to t...
(EN_COMPOUNDS_SCREEN_SHOT)
[uncategorized] ~8-~8: You might be missing the article “the” here.
Context: ... the integrated POM, which contains all necessary locator's and methods for page interact...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 markdownlint-cli2 (0.17.2)
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMScreenshotIntro.md
1-1: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
1-1: First line in a file should be a top-level heading
null
(MD041, first-line-heading, first-line-h1)
4-4: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
7-7: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
8-8: Files should end with a single newline character
null
(MD047, single-trailing-newline)
🔇 Additional comments (4)
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMFromScreenshotWizard.cs (1)
29-29: Consistent resource reference for wizard introduction
TheWizardIntroPagecall has been correctly updated to use the newAddPOMScreenshotIntro.md. This matches the entry inGinger.csproj, ensuring the resource will be loaded at runtime.Ginger/Ginger/Ginger.csproj (2)
40-41: Moved intro markdown entries out of<None>
The removal ofAddPOMScreenshotIntro.mdandUpdateMultiplePOMtIntro.mdfrom the<None>group prepares them to be embedded.
671-672: Embedded new wizard intro markdown as resources
Adding the two new markdown files under<Resource>ensures they are packaged and accessible to the wizards.Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/UpdateMultipleWizard/UpdateMultiplePomWizard.cs (1)
45-45: Updated introduction page to new markdown resource
TheWizardIntroPagenow points toUpdateMultiplePOMtIntro.md, aligning with the embedded resource configuration. Confirm that the path string (including leading slash) is resolved correctly at runtime.
| ### What are Page Objects Models used for? | ||
| The Update Multiple POM Wizard is a tool that lets you update several Page Object Models (POMs) at the same time. It helps you keep your object references consistent across all your test run sets and saves you time by updating everything together. | ||
|
|
||
| ### How to create a Page Objects Model? | ||
| First, select your target application in the wizard. Next, choose the POMs you want to update from the filtered list. The wizard will then find all the run sets that use these POMs and update them automatically. After the update, you’ll see the status of each runset as the system verifies the changes in the background. | ||
|
|
||
| ### How to use Page Objects Model in Execution? | ||
| When you create or edit a test action, set 'Locate By' to 'Page Objects Model Element'. Then, select the object you want to use. This method helps you avoid duplicates and reduces the chance of errors when using the same controls in different actions. No newline at end of file |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Improve markdown formatting and terminology consistency
- Surround each heading with blank lines.
- Standardize to "Page Object Model" vs. "Page Objects Models".
- Ensure the file ends with a single trailing newline.
Consider applying:
+
### What is a Page Object Model?
The Update Multiple POM Wizard is a tool that lets you update several Page Object Models (POMs) at the same time. It helps you keep your object references consistent across all your test run sets and saves you time by updating everything together.
### How to create a Page Object Model?
First, select your target application in the wizard. Next, choose the POMs you want to update from the filtered list. The wizard will then find all the run sets that use these POMs and update them automatically. After the update, you’ll see the status of each run set as the system verifies the changes in the background.
### How to use Page Object Models in execution?
When you create or edit a test action, set "Locate By" to "Page Objects Model Element". Then, select the object you want to use. This method helps you avoid duplicates and reduces the chance of errors when using the same controls in different actions.
+Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/UpdateMultipleWizard/UpdateMultiplePOMtIntro.md
lines 1 to 8, improve markdown formatting by adding blank lines before and after
each heading for better readability. Standardize terminology by replacing all
instances of "Page Objects Models" with "Page Object Model" for consistency.
Finally, ensure the file ends with a single trailing newline character.
| ### What are Page Objects Models used for? | ||
| POM from Screen-shot allows you to create Page Object Models by uploading a screen-shot of a web page. The feature uses Azure OpenAI to analyze the image, automatically generating HTML structure and element locator's. This is useful for preparing test automation before application deployment or when working with design mock-ups. | ||
|
|
||
| ### How to create a Page Objects Model? | ||
| To create a POM from a screen-shot, simply upload your web page image to the wizard. The Azure OpenAI model will analyze it and generate both HTML preview and code automatically. Next, launch the agent which opens the URL on a browser to learn the elements in the usual way. After reviewing and making any necessary adjustments, save your new POM for immediate use in test automation. | ||
|
|
||
| ### How to use Page Objects Model in Execution? | ||
| Import the POM into your test script and create an instance of the page object. Use the page object's methods to interact with web elements and build your test cases. Run your tests with the integrated POM, which contains all necessary locator's and methods for page interactions. No newline at end of file |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Fix typos and enhance markdown structure
- Use "screenshot" (one word) instead of "screen-shot".
- Remove incorrect apostrophe in "locator's".
- Add blank lines around headings and ensure a trailing newline.
Proposed changes:
+
### What are Page Object Models used for?
POM from screenshot allows you to create Page Object Models by uploading a screenshot of a web page. The feature uses Azure OpenAI to analyze the image, automatically generating HTML structure and element locators. This is useful for preparing test automation before application deployment or when working with design mock-ups.
### How to create a Page Object Model?
To create a POM from a screenshot, simply upload your web page image to the wizard. The Azure OpenAI model will analyze it and generate both HTML preview and code automatically. Next, launch the agent which opens the URL in a browser to learn the elements in the usual way. After reviewing and making any necessary adjustments, save your new POM for immediate use in test automation.
### How to use Page Object Models in execution?
Import the POM into your test script and create an instance of the page object. Use the page object's methods to interact with web elements and build your test cases. Run your tests with the integrated POM, which contains all necessary locators and methods for page interactions.
+Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 LanguageTool
[misspelling] ~2-~2: This word is normally spelled as one.
Context: ...reate Page Object Models by uploading a screen-shot of a web page. The feature uses Azure O...
(EN_COMPOUNDS_SCREEN_SHOT)
[misspelling] ~5-~5: This word is normally spelled as one.
Context: ...e Objects Model? To create a POM from a screen-shot, simply upload your web page image to t...
(EN_COMPOUNDS_SCREEN_SHOT)
[uncategorized] ~8-~8: You might be missing the article “the” here.
Context: ... the integrated POM, which contains all necessary locator's and methods for page interact...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 markdownlint-cli2 (0.17.2)
1-1: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
1-1: First line in a file should be a top-level heading
null
(MD041, first-line-heading, first-line-h1)
4-4: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
7-7: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
8-8: Files should end with a single newline character
null
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In
Ginger/Ginger/ApplicationModelsLib/POMModels/POMWizardLib/LearnWizard/AddPOMScreenshotIntro.md
lines 1 to 8, fix typos by replacing "screen-shot" with "screenshot" and remove
incorrect apostrophes from "locator's". Improve markdown structure by adding
blank lines before and after each heading and ensure the file ends with a
trailing newline.
Thank you for your contribution.
Before submitting this PR, please make sure:
Summary by CodeRabbit
New Features
Documentation
Chores