Git Product home page Git Product logo

page-modeller's People

Contributors

danhumphrey avatar dependabot[bot] avatar lzt007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

page-modeller's Issues

Robot Framework - Locator variables naming convention enhancement

Current code generator sample output:

*** Variables ***
${userName} id=login

*** Keywords ***
Set UserName
[Arguments] ${userNameValue}
[Documentation] Set UserName INPUT element value
Input Text ${userName} ${userNameValue}

Requesting enhancement in generator:

*** Variables ***
${userNameLocator} id=login

Set UserName
[Arguments] ${userNameValue}
[Documentation] Set UserName INPUT element value
Input Text ${userNameLocator} ${userNameValue}

Why is the enhancement requested ?

Let us take an example of below robot test suite which uses the above LoginPage.robot:
*** Settings ***
Resources LoginPage.robot
*** Variables ***
${user_name} user01
*** Test Cases ***
Web Test
Set UserName ${user_name}

Test Outcome Expected:
Robot framework to find element by locater id=login and send keys 'user01'
Test Outcome Actual:
Robot framework is trying to find element by locater user01 instead of id=login and fails in the process.

Possible reason for this behavior
Robot framework takes our test variable ${user_name} and considers it as a named argument and overrides ${userName} in the Set UserName keyword definition. But the interesting thing is Set UserName keyword is supposed to accept only one argument ${userNameValue}.
This is an issue in robot framework itself. I will raise an issue with robot framework.

Just checking if we can add word Locator to all the Locator variable names generated through the Page modeler , that would can add some context to the variable and also muffle this error in robot framework.

Locator table rows does show over 10 elements.

The issue is that you cannot view or modify any elements after you reach 10 rows on the locator table. could you make the table show all the elements. captured. however, when I generate the code, I can see the additional elements.

Enable profile specific options

Some profiles will require specific options or preferences.

As an example, the Selenium WebDriver profiles could benefit from a usePageFactory option.

Support Typescript with new protractor typescript profile.

Rationale

Angular projects, by default, use typescript for page object classes. Whilst this plugin is excellent and has saved our team time, there is still the manual process of typescriptifying the generated protractor model

Resolution

See PR #18 for proposed changes

Map Single Click / Hover to View Matched Elements

There are two ways to invoke 'Edit Element Dialog'

  1. Click Edit Icon under Actions
  2. Double click the row corresponding to the element modal

It would be nice to have two ways to invoke 'View Matched Elements'

  1. Click Eye Icon under Actions
  2. Single click / hover the row corresponding to the element modal (Requesting this feature)

Rationale:
It is easier to click / double click the whole row than smaller Icons for people with fat finger.

PS:
I forked the project and made changes locally. Upon invoking build-chrome.js the zip files gets generated but its too tiny 44 bytes. I will troubleshoot and ensure I can contribute in the future.

Page modeller not working for specific site

Page Modeller seems to work on some sites, but not on others. I am trying to automate some testing of this site, but when I press the "Scan Page" icon and hover over the page, nothing gets selected. This is true both in Chrome 84 and Firefox 68. Am I missing something, or is this site just constructed in such a way that it doesn't want to be modeled?

Unobtrusive warnings

Consider implementing unobtrusive warnings and replacing alerts such as "That element already exists in the model" with an auto hiding popup message.

Version 1.5.7 broken in Chrome

I think the issue is at Google's end as I can manually load version 1.5.7 into chrome. The same version also works in Firefox.

I have bumped the version and pushed this to the Chrome extension store but it is still pending review. I will hopefully close this issue when version 1.5.8 is live.

Allow to specify a unique property instead of ID

Very good tool, it would be perfect if we could tell the SPY to look at another unique property instead of the id

<input class="form-control ng-pristine ng-invalid ng-touched" formcontrolname="prenom" type="text" placeholder="Nom" style="null">

image

manual trick

  1. create id with the same value of formcontrolname
  2. after export i replace id by original property

elements = document.querySelectorAll('[formcontrolname]:not([id])')
elements.forEach((item, index) => {
value = item.getAttribute('formcontrolname')
item.setAttribute('id', value)
})

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.