Small library to make e2e tests for salesforce using nightwatchjs.
npm install nightwatch-salesforce-wrapper```
npm i nightwatch-salesforce-wrapper
`javascript
var SFW = require('nightwatch-salesforce-wrapper');
var SFWx = new SFW();
SFWx.setBrowser(browser); //where browser is the nightwatch's browser object
SFWx.setDefaultTimeout(4000); // timeout in milliseconds.
`
#### Text
`javascript`
SFWx.text("some text field").set("value1");
where "eco" is the name of the field and "abc" is the value you want to set.
#### Name
`javascript`
SFWx.name("some name field").set("value1");
#### Picklist
`javascript`
SFWx.picklist("some picklist field").set("value1");
#### multipicklist
`javascript`
SFWx.multipicklist("some multipicklist field").set("value1, value2");
#### Checkbox
`javascript`
SFWx.checkbox("some checkbox field").set(true);
#### Text
`javascript`
SFWx.text("some text field").get(function(res){
console.log("some text field value -> " + res);
});
#### Name
`javascript`
SFWx.name("some field name").get(function(res){
console.log("some field name value -> " + res);
});
#### picklist
`javascript`
SFWx.picklist("some picklist field").get(function(res){
//this will give you the current selected value on the picklist.
console.log("some picklist field -> " + res);
});
Click on a link
`javascript`
SFWx.link('some link name').click();
Click on a button
`javascript`
SFWx.button('some button name').click();
Click on a checkbox
`javascript`
SFWx.checkbox('some checkbox name').click();`
Click on an inputjavascript`
SFWx.input('some input field name').click();
#### setBrowser(browser)
Sets the browser variable that nightwatch's is using, see nightwatch's documentation http://nightwatchjs.org/guide.
`javascript`
setBrowser(browser);
#### useID(element id)
Forces SFW to use and specific HTML ID instead of the field's label or element's label.
`javascript`
useID("element's ID");`
example:javascript`
SFWx.useID('element id').click();
#### useValue()
Forces SFW to use an element's value property instead for the element's label or id.
`javascript`
SFWx.useValue().input("new").click();
#### linkInside
Selects the first link inside a div.
`javascript`
SFWx.useID().linkInside('div id').click();
javascript
App.funcA().funcB()...funcN();
`
Instead of:
`javascript
App.funcA();
App.funcB();
.
.
App.funcN();
`
Nightwatch + SFW small example
This small example shows how to create a new record on a custom object.
`javascript
var SFW = require('salesforce_wrapper');
var SFWx = new SFW();SFWx.setBrowser(browser); //where browser is the nightwatch's browser object
SFWx.setDefaultTimeout(4000); // timeout in milliseconds.
SFWx.link("some link").click() ;
browser.pause(2000); //nightwathc's browser variable
SFWx.text("some text field label1").set("value 1")
.text("some text field label2").set("value 2")
.picklist("some pikclist field label1").set("value 1")
.multipicklist("some multipicklist field label1").set("value 1, value2")
.button("save").click();
browser.pause(2000);
``