使用“ set”命令设置值时替换ruby中的变量值

时间:2019-02-12 05:03:18

标签: ruby watir

我有一个.properties文件,如下所示:

user:abcd
pwd:xyz
system:test

接下来,我有Watir的ruby脚本用于浏览器自动化。在此脚本中,我有

这样的语句
browser.text_field(:id => 'identifierId').set "#{user}:variable to be replaced by its value from .properties file".

类似地,“ pwd”和“ system”也需要替换其他值。

我按照以下帖子尝试了解决方案: Replace properties in one file from those in another in Ruby

但是,“ set”命令设置的是设置为参数的任何内容,而不是将变量替换为其值。

请帮助。

1 个答案:

答案 0 :(得分:2)

您必须从文件中读取信息。 大多数Watir用户为此使用yaml文件。

config/properties.yml

user: abcd
pwd: xyz
system: test

然后读取yaml文件并解析您的数据:

properties = YAML.safe_load(IO.read('config/properties.yml'))

text_field = browser.text_field(id: 'identifierId')
text_field.set properties['user']

或者,您可以看看Cheezy's Fig Newton gem,它是与他的Page Object gem配合使用的