Package Exports
- cypress-sugarcrm
- cypress-sugarcrm/commands.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cypress-sugarcrm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cypress-sugarcrm
Cypress-sugarcrm is a libray base on Cypress.io that provides commands for automating interactions with both local and on-demand SugarCRM intances. It also supports SugarCRM REST API operations.
How to use
Installation
To install the Cypress-SugarCRM library, run the following command.
npm install -s cypress-sugarcrmSet up
To set up user credentials, create a file named "sugarcrm-envs.json" and copy the following content:
{
"local":{
"name": "local",
"url": "http://my.sugar.loc",
"users":{
"admin":{
"username": "myuser",
"password": "Password123",
"type": "admin"
}
}
},
"qa":{
"name": "qa",
"url": "https://instance.sugarondemand.com",
"users":{
"admin":{
"username": "myuser",
"password": "Password123",
"type": "admin"
}
}
}
}Explanation:
- local and qa. Environment names to retrieve the corresponding information.
- url. The URL of the SugarCRM instances.
- users. Contains the credentials of the users to be used in automated test cases.
Cypress Configuration
In your "cypress.config.js" file, add the following configuration:
module.exports = {
...
chromeWebSecurity: false,
...
}Handling Uncaught Exceptions
In the "e2e.js" file, add the following code to handle uncaught exceptions:
...
beforeEach(function() {
...
Cypress.on('uncaught:exception', (err, runnable) => {
return false;
})
...
})
...Using in a Spec File
In your spec file, import the Cypress-SugarCRM library as follows:
import cySugar from "cypress-sugarcrm";Running Cypress
To run Cypress with the appropriate environment, use the following command and set the environment variable "sugarcrm_env":
npx cypress open --env sugarcrm_env=localCommands
Login
Log in to the SugarCRM instance using the provided username. The corresponding credential ifnromation is reatrived from the fixtures/sugarcrm-envs.json file.
Syntax
cySugar.login('admin');Visit
Navigate to the specified SugarCRM URL and wait for the Loading... message disappear before proceeding to the next step.
Syntax
cySugar.visit('/#Accounts');Open Sidebar Nav
Navigate to the specified SugarCRM URL and wait for the Loading... message disappear before proceeding to the next step.
Syntax
cySugar.openSidebarNav();Open Sidebar Nav Module
Navigate to the specified SugarCRM URL and wait for the Loading... message disappear before proceeding to the next step.
Syntax
cySugar.openSidebarNavModule('Opportunities');Set Field Value
This command sets a value in the recor view of a module using the system field name. The appropriate actions are performed base on the field's metadata type (e.g. varchar, int, enum, etc).
Syntax
cySugar.set_field_value('Accounts','name','Company ABC');
cySugar.set_field_value('Accounts','email1','company@abc.com');
cySugar.set_field_value('Accounts','external_id_c','123456');