lirantal / cypress-social-logins

Cypress authentication flows using social network providers
Apache License 2.0
248 stars 78 forks source link

Create an Export function for Custom Logins #58

Closed InvisibleExo closed 4 years ago

InvisibleExo commented 4 years ago

Is your feature request related to a problem? Please describe. Please describe the problem you are trying to solve. I've been looking plugins or methods for login such as Request and Visit to provide login credentials to a website, (Steam.com in this case,) which I use to explore ways how to test or improve setup, instead of going to front end approach by finding and run send keys. Sadly, attempting to login this Steam.com using Request or Visit, doesn't appear to be working. I get a 200 response code, but upon refresh/reload, it doesn't appear the login worked. I see you have a list of providers which can be passed into Cypress task(). After inspecting your function's to perform the login, I want to try the login approach using your plugin.
Would you be willing to provide an export function where users to can define the selectors they next to select to provide the user's own selectors to type or select submit buttons/tags?

Describe the solution you'd like Please describe the desired behavior. I was thinking the best way to define the selectors and buttons would be to provide more properties which are accepted by the Options property. (Ex: customUsernameSelector, customLoginSubmit, etc).

Describe alternatives you've considered Please describe alternative solutions or features you have considered.

lirantal commented 4 years ago

Yes that sounds good. We've already got a few exported functions and a way to configure the selectors etc. Is there something else you'd want to see added? by the way there are a few social logins already available.

InvisibleExo commented 4 years ago

Yes, I checked your login functions from the Plugins class, but the website I'm using to run my tests doesn't use any of social websites, (that includes logins which are pending/currently being worked on). For Option properties, I don't know any additional properties will be required for the custom login approach. It looks like the CustomLogin function() may need additional options to be added to existing options. For the definition portion of this script, it will have to state the Options object requires a specific set of properties define or it will throw an error. For example: Required Options properties (which aren't included in existing properties, and forgive me you do have existing properties):

Optional Options properties:

InvisibleExo commented 4 years ago

Would you be willing for me to create a new branch, pull down and add this CustomLogin function for what I have initially in mind into Plugns file?

lirantal commented 4 years ago

Sure, happy to do so if it helps. Can you also please add proper documentation to the README with regards to how to use this and the user-case for it unlike the existing functions?

lirantal commented 4 years ago

:tada: This issue has been resolved in version 1.5.3 :tada:

The release is available on:

Your semantic-release bot :package::rocket: