【发布时间】:2023-01-28 00:37:35
【问题描述】:
所以我目前正在学习机器人框架,而不是使用重复代码,我正在尝试利用循环来使我的代码更易于维护。不幸的是,我不知道如何解决这个问题,我想把它放到一个循环中。这是一系列带有下拉答案的问题,每次测试运行时我都想选择不同的答案。我已经尝试了几个 foor 循环选项,但它们都不起作用。基本上每个循环都应单击下拉菜单并选择一个随机答案,直到所有问题都得到回答。
Check if User can change "Company" information
Scroll Element Into View ${USER_MENU_SCROLL_TO_COMPANY_MENU}
sleep 1s
click element ${USER_MENU_CLICK_COMPANY_EDIT_BUTTON}
${random_description1} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION1})
click element ${random_description1}
sleep 1s
click element ${USER_MENU_CLICK_DROP_DOWN_2}
${random_description2} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION2})
click element ${random_description2}
sleep 1s
click element ${USER_MENU_CLICK_DROP_DOWN_3}
${random_description3} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION3})
click element ${random_description3}
sleep 1s
click element ${USER_MENU_CLICK_DROP_DOWN_4}
${random_description4} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION4})
click element ${random_description4}
sleep 1s
click element ${USER_MENU_CLICK_DROP_DOWN_5}
${random_description5} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION5})
click element ${random_description5}
我试过这样的事情,但它想连接我的变量中的值。
FOR ${i} IN RANGE 1 5
${random_description} = Evaluate random.choice(@{USER_MENU_DROP_DOWN_QUESTION}+${i})
click element ${USER_MENU_CLICK_DROP_DOWN_}+${i}
click element ${random_description}
sleep 1s
END
【问题讨论】:
标签: selenium automated-tests robotframework web-testing