如何使用新数据每次运行monkeytalk脚本?

时间:2015-04-16 06:49:24

标签: android eclipse testing monkeytalk

我们正在使用eclipse luna 4.4.1,在linux系统上安装adb来测试Android应用程序。

我录制了一个monkeytalk脚本。所以我的问题是如何在500次中运行那个monkeytalk录制的脚本。但是在每个循环中,输入数据的值都应该改变(验证内容)。 例如:我录制了注册帐户。所以需要运行500次以创建500个不同的帐户。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须使用参数化

只是在脚本中使用变量而不是硬编码值时。这使您有机会在每次新运行时为该变量分配新值。

以下是official documentation关于参数化脚本的示例:

Vars * Define usr="default-at-example.com" pwd
 Input username EnterText ${usr}
 Input password EnterText ${pwd}
 Button LOGIN Tap

在此列表中,您可以看到已使用默认值(“default-at-example.com”)定义了“usr”变量。

因此,您可以在许多不同的地方调用参数化脚本 方式。

在这种情况下,“pwd”变量将具有“我喜欢奶酪”的价值:

Script login.mt Run joe-at-doe.com "i like cheese"

以下示例显示了脚本调用,但没有为变量指定任何参数:

Script login.mt Run * password1

它会产生以下效果:变量“usr”将具有其默认值,而“pwd”变量将具有“password1”值

不要忘记这些变量的范围仅限于脚本。这意味着它们是可见的,只能在已定义它们的脚本中使用。

此外,您可以使用external data sources来为测试提供数据。它被称为数据驱动测试。以下是使用* .csv文件(逗号分隔)作为此类数据源的脚本示例:

//data.csv

joe-at-doe.com, "i like cheese"
alpha-at-beta.net, password1
charlie-at-dog.org, abc123

为了使用这样的* .csv文件,只需运行以下命令:

 Script login.mt RunWith data.csv