RPA Challenge? Maybe

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": ""
    }
  ]
}
1 Like

OH looks like there is a smart guy who want others to do his job and make an RPA “challenge” so he can use the works of others, this is when a graphics designer goes to a design “challenge”, dont know how people still fall in this low quality bait, “challenge” usually means “hey idiot, do the work for free”

Hello

I don’t know what you mean, I just found the page on a Reddit thread and wanted to share both the challenge and the solution with you. Given your disagreement with this topic, I will not post things like this again.

what would be the difficulty of the job? it seems to me very simple to make

Very late response - You successfully navigated the RPA Challenge and then posted the solution to the UI Vision Forum? Fairly amazing. Looks like hours of work was spent solving the challenge. Do you happen to have the ‘asesores.csv’ file available?

UI Vision RPA vs RPA Challenge!
I think that deserves some recognition.