Hello
This entry was not made in order to ask or report something.
A few days ago I discovered a page (I suppose there are more) called “RPA Challenge”. The objective is to use automation software to solve a proposed exercise. There are some exercises but I decided on the most important one, a form filling.
I really liked the exercise because it is not as simple as one thinks, since each time the page is updated, the fields change their order and position on the screen. I’m a bit new to RPA so it took me 1 full day to create the macro that does the diligence through the proposed 10 rounds.
I want to share with you the macro that performs this process in order for you to understand how it works and to serve you in some real process. I apologize if it is not highly automated, if it can be done with fewer lines, or if there are errors. I am just starting on this topic.
Thanks.
Challenge page: Rpa Challenge
Link to the .json and .csv file: Challenges - Google Drive
{
"Name": "RPA CHALLENGE",
"CreationDate": "2021-11-2",
"Commands": [
{
"Command": "store",
"Target": "1",
"Value": "!timeout_wait",
"Description": ""
},
{
"Command": "store",
"Target": "FAST",
"Value": "!replayspeed",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!errorignore",
"Description": ""
},
{
"Command": "store",
"Target": "7",
"Value": "contador",
"Description": ""
},
{
"Command": "store",
"Target": "1",
"Value": "asesores",
"Description": ""
},
{
"Command": "store",
"Target": "2",
"Value": "challenge",
"Description": ""
},
{
"Command": "open",
"Target": "http://rpachallenge.com/?lang=EN",
"Value": "",
"Description": ""
},
{
"Command": "pause",
"Target": "3000",
"Value": "",
"Description": ""
},
{
"Command": "click",
"Target": "xpath=//button",
"Value": "",
"Targets": [
"xpath=/html/body/app-root/div[2]/app-rpa1/div/div/div[6]/button",
"xpath=//button",
"css=body > app-root > div.body.row1.scroll-y > app-rpa1 > div > div.instructions.col.s3.m3.l3.uiColorSecondary > div:nth-child(7) > button"
],
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "times",
"Target": "10",
"Value": "",
"Description": "${!csvReadMaxRow}"
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "contains the xpaths to which the types point",
"Description": ""
},
{
"Command": "times",
"Target": "${contador}",
"Value": "",
"Description": "${!csvReadMaxRow}"
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${!COL2}",
"Value": "campo",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Address",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Address",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Email",
"Targets": [
"id=o0mMq",
"name=o0mMq",
"xpath=//*[@id=\"o0mMq\"]",
"xpath=//input[@id='o0mMq']",
"xpath=//input",
"css=#o0mMq"
],
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Email",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Company Name",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Company Name",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Role in Company",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Role in Company",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "First Name",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "First Name",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Last Name",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Last Name",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "verifyText",
"Target": "${!COL1}",
"Value": "Phone Number",
"Description": ""
},
{
"Command": "gotoIf_v2",
"Target": "${!statusOK} == true",
"Value": "Phone Number",
"Description": ""
},
{
"Command": "store",
"Target": "true",
"Value": "!statusOK",
"Description": ""
},
{
"Command": "label",
"Target": "Address",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": "contains the challenge excel"
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL5}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "Email",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL6}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "Company Name",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL3}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "Role in Company",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL4}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "First Name",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL1}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "Last Name",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL2}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "Phone Number",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "${challenge}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "csvRead",
"Target": "challenge.csv",
"Value": "",
"Description": ""
},
{
"Command": "type",
"Target": "${campo}",
"Value": "${!COL7}",
"Description": ""
},
{
"Command": "store",
"Target": "${asesores}",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${asesores})+1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "store",
"Target": "${!csvReadLineNumber}",
"Value": "asesores",
"Description": ""
},
{
"Command": "csvRead",
"Target": "asesores.csv",
"Value": "",
"Description": ""
},
{
"Command": "gotoLabel",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "label",
"Target": "inicio",
"Value": "",
"Description": ""
},
{
"Command": "end",
"Target": "",
"Value": "",
"Description": ""
},
{
"Command": "click",
"Target": "xpath=//form/input",
"Value": "",
"Targets": [
"xpath=/html/body/app-root/div[2]/app-rpa1/div/div[2]/form/input",
"xpath=//input[@value='Submit']",
"xpath=//form/input",
"css=body > app-root > div.body.row1.scroll-y > app-rpa1 > div > div.inputFields.col.s6.m6.l6 > form > input"
],
"Description": ""
},
{
"Command": "store",
"Target": "1",
"Value": "!csvReadLineNumber",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "return Number(${challenge})+1",
"Value": "challenge",
"Description": ""
},
{
"Command": "store",
"Target": "1",
"Value": "asesores",
"Description": ""
},
{
"Command": "end",
"Target": "",
"Value": "",
"Description": ""
}
]
}