Robotframework:如何使用定义下一个参数的嵌入变量构建合适的关键字?
我将尽力解释我的新问题。 我必须构建关键字,该关键字应包括2个变量:Robotframework:如何使用定义下一个参数的嵌入变量构建合适的关键字?,robotframework,Robotframework,我将尽力解释我的新问题。 我必须构建关键字,该关键字应包括2个变量: 要检查的元素数 这些元素的列表及其说明 此类关键字的示例: Check number all elements and names and the url each of them [3, "element1 /img/el1.jpg element2 /img/el2.jpg element3 /img/el3.jpg"] 简单地说:我必须首先检查我是否有3个元素,然后检查每个元素的属性名称和url 这些属性看起来像“列表
Check number all elements and names and the url each of them [3, "element1 /img/el1.jpg element2 /img/el2.jpg element3 /img/el3.jpg"]
简单地说:我必须首先检查我是否有3个元素,然后检查每个元素的属性名称和url
这些属性看起来像“列表”,对吗?
你对如何解决我的问题有什么想法吗?你接近解决方案了,你需要使用列表。因为Robot框架知道列表长度,所以不需要将其作为参数 以下是一种可能的解决方案:
*** Settings ***
Library Collections
*** Keywords ***
Check Elements
[arguments] ${elementlist}
${listlen}= Get Length ${elementlist}
${pairs}= Evaluate ${listlen} / 2
:FOR ${element} IN RANGE ${pairs}
\ ${element} Remove From List ${elementlist} 0
\ ${description} Remove From List ${elementlist} 0
\ Log Check element and description here
*** Test Cases ***
ListTest
@{elementlist}= Create List element1 /img/el1.jpg element2 /img/el2.jpg element3 /img/el3.jpg
Check Elements ${elementlist}
现在我更接近解决我的问题了,但是。。。我需要在列表之前给出一个数字来进行双重检查-第一:我有正确的所有元素的数量,第二:它们都有正确的值。还有一个问题-有没有办法创建这样一个列表,元素直接在关键字中,就像我在第一篇文章中写的那样?如果元素之间用空格分隔,您应该能够像这样使用“Split String”关键字:@{elementlist}=Split String element1/img/el1.jpg element2/img/el2.jpg element3/img/el3.jpg。拆分字符串在字符串库中,但是有没有办法创建这样的关键字:检查所有元素和名称的编号以及它们各自的url[3,“element1/img/el1.jpg element2/img/el2.jpg element3/img/el3.jpg”]?我立即在关键字中声明列表。可能吗?下一步-由于不可能使用“nested for”,我应该如何检查列表中的元素数(在关键字-3的第一个变量之后)是否等于3(第一个变量值)?我不明白关键字的“check number”部分是什么意思。你能更新你的问题并用伪代码写下你想要发生什么吗?一个“元素”是什么?它是一个带有名称和路径的字符串吗?当你说“检查属性名称和url”时,那是什么意思?你在查什么?您如何知道“element1/img/el1.jpg”是有效的?是否因为两者都包含数字“1”?还有,这是否有一个原因必须是一个关键字而不是两个--一个用于检查数字,一个用于检查列表中的每个值?@BryanOakley,我已经尝试在Pekka的评论下面回答:)