Как определить массив и сделать цикл У меня есть элементы в Selenium IDE ++ - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь сделать цикл в Selenium IDE ++ (Kantu), но сейчас не знаю, как будет.

В Selenium IDE было бы что-то вроде этого:

storeEval | new Array("a", "b", "c") | arr

В Канту я до сих пор пробовал использовать JavaScript, как показано ниже, но я не знаю, как использовать значения внутри массива в цикле.

executeScript | var arr = ["a","b","c"]; return arr;

Как я могу использовать этот массив (определенный с помощью JavaScript или с помощью команд Kantu), например, echo каждое значение?

Спасибо за любую помощь

1 Ответ

1 голос
/ 22 июня 2019

Как я могу использовать этот массив ... для отображения каждого значения?

Вот макрос для него:

Я использую return ${names}.length, чтобы получитьдлина массива, а затем сделать цикл while :

{
  "Name": "DemoExecuteScript-1",
  "CreationDate": "2019-6-21",
  "Commands": [
    {
      "Command": "store",
      "Target": "fast",
      "Value": "!replayspeed"
    },
    {
      "Command": "executeScript_Sandbox",
      "Target": "return new Array ('cat','dog','fish','dog','deer','frog','whale','dog','seal','horse','elephant')",
      "Value": "names"
    },
    {
      "Command": "executeScript_Sandbox",
      "Target": "return ${names}.length",
      "Value": "len"
    },
    {
      "Command": "echo",
      "Target": "array length = ${len}",
      "Value": ""
    },
    {
      "Command": "store",
      "Target": "0",
      "Value": "i"
    },
    {
      "Command": "while_v2",
      "Target": " ${i} < ${len}",
      "Value": ""
    },
    {
      "Command": "executeScript_Sandbox",
      "Target": "return ${names}[${i}]",
      "Value": "var1"
    },
    {
      "Command": "echo",
      "Target": "Element ${i} is ${var1}",
      "Value": "blue"
    },
    {
      "Command": "executeScript_Sandbox",
      "Target": "return Number(${i}) +1",
      "Value": "i"
    },
    {
      "Command": "end",
      "Target": "",
      "Value": ""
    }
  ]
}

Кстати, быстрее использовать executeScript_Sandbox .

Выход:

loop array in selenium ide

...