Python 通过从字典中获取键并使用.py文件中的值进行重写来创建值列表
我需要创建一个从Python 通过从字典中获取键并使用.py文件中的值进行重写来创建值列表,python,robotframework,Python,Robotframework,我需要创建一个从env.py传递给变量var1和var2的值列表,并在Generic Suite Setup关键字中使用它们,而不改变Generic Suite Setup的参数 设置。机器人 *** Keywords *** Generic Suite Setup [Arguments] &{options} ${keys}= Get Dictionary Keys ${options} ${new1}= Convert To List
env.py
传递给变量var1
和var2
的值列表,并在Generic Suite Setup
关键字中使用它们,而不改变Generic Suite Setup
的参数
设置。机器人
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
Log ${new1}
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
@{userlist}= Create list
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
\ Append To List ${userlist} ${${key}}
Log ${userlist}
env.py
var1='xyz'
var2='pqr'
测试机器人
*** Settings ***
Suite Setup Generic Suite Setup var1=abc var2=abc
希望这能解决你的问题 测试机器人
*** Settings ***
Resource Setup.robot
Suite Setup Generic Suite Setup var1=abc var2=abc
*** Test Cases ***
Login
安装机器人
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${Values}= Get Dictionary Values ${options}
${new1}= Convert To List ${keys}
${new2}= Convert To List ${Values}
${list4}= Create List ${var1} ${var2}
Log ${new1}
Log to console ${new2}
Log to console ${list4}
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
环境保护
var1='xyz'
var2='pqr'
输出
list4= ['xyz','pqr']
您现在有两个单独的列表,一个来自通用套件设置参数值,另一个来自env44.py var1,var2值希望这能解决您的问题 测试机器人
*** Settings ***
Resource Setup.robot
Suite Setup Generic Suite Setup var1=abc var2=abc
*** Test Cases ***
Login
安装机器人
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${Values}= Get Dictionary Values ${options}
${new1}= Convert To List ${keys}
${new2}= Convert To List ${Values}
${list4}= Create List ${var1} ${var2}
Log ${new1}
Log to console ${new2}
Log to console ${list4}
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
环境保护
var1='xyz'
var2='pqr'
输出
list4= ['xyz','pqr']
现在有两个单独的列表,一个来自通用套件设置参数值,另一个来自env44.py var1,var2 values。这个问题包含了几个问题。第一个是声明了未知数量的全局变量。全局变量,由于其性质,在本质上应该是很少的,并且大部分是静态的。这使得它们可以预测,并且应该知道它们的存在
如果从外部源导入变量,我建议不要创建单个全局变量,而是使用YAML创建嵌套的字典/列表/变量。在本文中,我给出了一个单个变量导入的示例,然后将其拆分为单独的全局变量。这将为您提供对导入内容的控制。此问题包含多个问题。第一个是声明了未知数量的全局变量。全局变量,由于其性质,在本质上应该是很少的,并且大部分是静态的。这使得它们可以预测,并且应该知道它们的存在
如果从外部源导入变量,我建议不要创建单个全局变量,而是使用YAML创建嵌套的字典/列表/变量。在本文中,我给出了一个单个变量导入的示例,然后将其拆分为单独的全局变量。这将为您提供对导入内容的控制。现在
${userlist}
将日志记录为['xyz','pqr']
,并在setup.robot中进行以下更改
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${Values}= Get Dictionary Values ${options}
${new1}= Convert To List ${keys}
${new2}= Convert To List ${Values}
${list4}= Create List ${var1} ${var2}
Log ${new1}
Log to console ${new2}
Log to console ${list4}
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
设置。机器人
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
Log ${new1}
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
@{userlist}= Create list
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
\ Append To List ${userlist} ${${key}}
Log ${userlist}
现在
${userlist}
记录为['xyz','pqr']
,并在setup.robot中进行以下更改
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${Values}= Get Dictionary Values ${options}
${new1}= Convert To List ${keys}
${new2}= Convert To List ${Values}
${list4}= Create List ${var1} ${var2}
Log ${new1}
Log to console ${new2}
Log to console ${list4}
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
设置。机器人
*** Keywords ***
Generic Suite Setup
[Arguments] &{options}
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
Log ${new1}
*** Settings ***
Library Collections
*** Keywords ***
Generic Suite Setup
${keys}= Get Dictionary Keys ${options}
${new1}= Convert To List ${keys}
@{userlist}= Create list
:FOR ${key} IN @{new1}
\ Set suite Variable ${${key}} ${${key}}
\ Append To List ${userlist} ${${key}}
Log ${userlist}
你试过什么?发生了什么,您希望发生什么?您好,我试图从参数中获取键并将其转换为列表,但无法找到将此键列表转换为来自env.py的值列表的方法。请显示您编写的代码(仅相关部分)让我们看看结果是什么,你期望它是什么。那么你尝试了什么?发生了什么,您希望发生什么?您好,我试图从参数中获取键并将其转换为列表,但无法找到将此键列表转换为来自env.py的值列表的方法。请显示您编写的代码(仅相关部分)我不能在setup.robot中使用${list4}=Create List${var1}${var2},因为这些变量名、值和变量数量随着每个测试脚本的变化而变化。我不能在setup.robot中使用${list4}=Create List${var1}${var2},因为这些变量名,每个测试脚本的值和变量数都在变化。