擅长:python、mysql、java
<p>在我看来,您希望能够在给定某个变量元素的情况下加载具有特定内容的变量。按照你选择的方法,这是不可能的,正如@Bryan Oakley解释的那样。在</p>
<p>也就是说,有可能有可变的数据集,我们大多数人每天都在使用它们。通常,用例是有一组可以在多个环境下运行的测试。每个环境都有不同的URL、凭据和其他属性。在</p>
<p>一种方法是使用变量文件从命令行加载一组变量。<a href="http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id561" rel="nofollow noreferrer">Documentation on Variable files</a>给出了几种方法:</p>
<ol>
<li>在Python中定义一个Python文件并引用它。在</li>
<li>在YAML变量文件中定义变量。在</li>
<li>在Python类或Python函数中定义变量。在</li>
</ol>
<p>前两个包含固定变量,最后一个可以接受参数并根据输入返回值。在下面的示例中,我们使用Python函数返回<code>${name}</code>变量,该变量具有给定的特定输入值。在</p>
<p><strong>变量_文件.py</strong></p>
<pre><code>def get_variables(platform=None, key=None):
if platform.lower() == "android":
variables = {'name' : 'android'}
elif platform.lower() == "ios":
variables = {'name' : 'ios'}
else:
variables = {'name' : 'No Device'}
return variables
</code></pre>
<p><strong>变量_文件.robot</strong></p>
^{pr2}$
<p>在本例中,变量文件被引用为<code>Variables ${EXECDIR}/variable_file.py ios</code>,参数为<code>ios</code>。这将导致<code>${name}</code>变量保存值<code>ios</code>。在</p>