RobotFramework用户说明书翻译稿(3)

发表于:2012-03-06来源:新浪博客作者:lxg0618点击数: 标签:RobotFramewo
可变个数的参数 关键字可以接受任意个数的参数。参数可以由必须输入的参数和带有默认值的参数组成,但是所谓的可变参数一般要放在最后。通常文档

  可变个数的参数

  关键字可以接受任意个数的参数。参数可以由必须输入的参数和带有默认值的参数组成,但是所谓的可变参数一般要放在最后。通常文档会在这些参数名字前加一个*号,比如*varargs,以示区别。JAVA库的实现依然与之不同。

  举例说明Remove Files 和Join Paths关键字分别带有*paths和base参数和*parts参数。前者可带有任意数量参数,而后者则要求至少有一个参数。

Keywords with variable number of arguments

Test Case

Action

Argument

Argument

Argument

Example

Remove Files

${TEMPDIR}/f1.txt

${TEMPDIR}/f2.txt

${TEMPDIR}/f3.txt

 

@{paths} =

Join Paths

${TEMPDIR}

f1.txt

 

...

f2.txt

f3.txt

f4.txt

  命名参数

  当一个关键字接受多于一个有默认值的参数时,只对最后一个参数进行重新赋值是不可能的。例如,一个关键字有三个参数:arg1=a, arg2=b, arg3=c,其中arg1和arg2最终会变成空字符串,而不是它们的默认值。

  用位置参数覆盖默认值

Test Case

Action

Argument

Argument

Argument

Positional Arguments

[Documentation]

1st and 2nd

argument get

empty strings

 

Example Keyword

value

  为了更容易地修改部分有默认值的参数,我们在Robot Framework 2.5中增加了新的语法。有了这些语法,就能通过“argname=value”的格式直接修改参数的默认值。而需要使用默认值的参数就可以不用去理会了。下面的例子使用了与前面例子中一样的关键字来说明这种语法。在这个例子中,未指定的参数将获得他们的默认值。

  使用命名参数的关键字

Test Case

Action

Argument

Argument

Argument

Named Arguments

[Documentation]

Not specified

arguments get

default values

 

Example Keyword

arg3=value

 

Example Keyword

arg2=xxx

arg3=yyy

  当没有参数被排除的时候,命名变量语法也能够很自然接收参数的默认值。相比只给出一个值,这种方法也使得参数的含义更加清晰。尽管用这种方法来命名参数是不可能的。此外,先给出命名参数再给出可变参数是也不可能的。

  命名参数功能最大的限制是目前只能用于用户关键字和继承了Python的静态库API、混合库API的关键字库。未来框架可能会支持JAVA库和动态库API(使用可变参数),在此之前,我们需要用用户关键字来包裹不兼容的关键字(来解决java库和动态库的关键字不支持变参的问题)。

原文转自:http://www.ltesting.net