将命令行上的变量传递给 Cucumber 测试

2023-11-24

我试图将黄瓜项目的用户名和密码保留在版本控制之外。

有没有办法手动将命令行上的变量(例如用户名和密码)传递给黄瓜脚本?

我的备份计划是将它们放入 YML 文件中,并将该文件添加到 gitignore,这样它们就不会被置于版本控制中。


所以,我看到了你对铁皮人的评论,答案是肯定的。

cucumber PASSWORD=my_password

PASSWORD 设置为环境变量,您可以通过将其引用为来使用它的值ENV['PASSWORD']。举个例子,browser.text_field(:id => 'pwd').set ENV['PASSWORD']

另一种方式是间接的。 我过去所做的就是传递配置文件名称,该配置文件将执行我想要的操作。例如,我的个人资料名称为firefoxcucumber.yml 中的 firefox 配置文件有一个名为BROWSER_TYPE并将其值分配给 Firefox。而这个变量(BROWSER_TYPE)由我打开浏览器的方法使用。如果它的值为firefox,则此方法将打开firefox浏览器。

所以,我在这里所做的是 -

  1. 传递个人资料。配置文件的名称是firefox
  2. firefox 配置文件在 cucumber.yml 中定义。您可以对配置文件进行任何操作,但在本例中,我定义了一个名为的变量BROWSER_TYPE并将其值指定为 firefox。
  3. 然后我有一个使用的方法BROWSER_TYPE变量并使用其值打开浏览器。

这些步骤的代码 -

  1. cucumber -p firefox
  2. 我的 cucumber.yml 文件看起来像firefox: BROWSER_TYPE=firefox PLATFORM=beta

  3. 我打开浏览器的方法类似于 -

    @browser = Watir::Browser.new ENV['BROWSER_TYPE']

因此,理想情况下,您可以创建一个配置文件来设置带有密码的环境变量,并将该配置文件名称传递给 cucumber。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将命令行上的变量传递给 Cucumber 测试 的相关文章

  • 回滚后是否应该删除迁移

    我对 ruby 和 Rails 相当陌生 刚刚开始了解迁移 我的问题是回滚后删除迁移的最佳实践或正确时间是什么 到目前为止 我读到的内容是回滚后是否删除迁移的观点问题 但是在团队中工作时删除迁移是否有任何重大影响 以及保留迁移文件相对于删除
  • 检查rails devise ldap gem中的组成员身份,是否在yaml中?

    我是否应该使用 ldap yml 文件来确保使用 ldap 进行身份验证的人拥有分配给他们的正确组以允许他们进入 无论如何 我都不是 AD 专业人士 这让我很困惑 什么是组和属性 据我了解 我们在 AD 中有一个用户 他们有一个 samAc
  • 将 Rack::Deflater 插入机架中的哪个位置?

    我目前有以下内容 use Rack Rewrite use Rack Cache verbose gt true metastore gt memcached localhost 11211 rack cache meta entityst
  • 如何在initialize()中使用define_method

    尝试使用define method inside initialize但得到未定义的方法define method 我究竟做错了什么 class C def initialize n define method n puts some me
  • ruby 2.0.0p247 的分段错误导致 Rails 服务器崩溃

    在 OS X Mavericks 1 9 上运行 Rails 4 0 Ruby 2 0 0p247 我今天遇到了一个我从未遇到过的错误 我不明白 当尝试在我的项目中启动 Rails 服务器时 服务器崩溃了 我确实尝试重新安装并重新编译一次
  • 随机采样数组的唯一子集

    如果我有一个数组 a 1 2 3 如何随机选择数组的子集 以使每个子集的元素都是唯一的 也就是说 对于a可能的子集是 1 2 3 1 2 2 3 1 2 3 我无法生成所有可能的子集 因为 a 的实际大小非常大 因此有很多很多子集 目前 我
  • 从 Jekyll 插件向页面添加属性

    假设我想要一个包含如下内容的页面 h1 page comment count Comment s h1 for c in page comment list div strong c title strong br c content di
  • 如何加载 UrlHelper 和 Rails 中的路线?

    我想包括路线和link toPORO 中的方法 在控制台中测试这个时 我遇到了这个 如果我在没有路由助手的情况下包含 UrlHelper 一切似乎都工作正常 ruby 1 9 3 rc1 001 gt Rails version gt 3
  • Chef - 使用动态变量创建模板?

    我在厨师食谱上遇到了一些挑战 我是厨师新手 所以请耐心等待 第 1 步 我的厨师食谱安装 Ruby Passenger 然后与 Nginx 一起编译 Passenger nginx 模块 Install passenger and ngin
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • Ruby 在 Windows 上找不到 sqlite3 驱动程序

    我正在尝试在 Windows 上设置 Ruby on Rails 我正在使用看起来不错的 Flash Rails 发行版 但是 sqlite3 有一个问题 我发现线程告诉我安装版本 1 2 3 安装得很好 我使用的是 ruby 1 9 0
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • RSpec 2 中使用 OR 相等

    下面这个例子的正确写法是什么 玩家的分数应等于 5 或 8 it should equal 5 or 8 do player score should 5 or 8 end Thanks Tim 5 or 8将始终产生结果 5 并且不会执行
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • 用于获取下周一(或一周中的任何一天)的日期的 Ruby 代码

    给定一个输入 例如 day Monday 我如何计算下一次的日期day def date of next day end require date def date of next day date Date parse day delta
  • 将一幅图像合成到另一幅图像上时,RMagick 透明度不起作用

    在下面的代码中 我尝试在一些山脉的图像上覆盖一个透明的正方形 我认为它会起作用 但是通过设置background color none 它不会使图像透明 结果是左上角有一个黑色方块 所需的结果是黑色方块应该是透明的 require open
  • 如何使 Yard `@macro` 应用于多个文件

    如果我有在one file下列 module Something class Resource Defines a new property param String name the property name param Class t
  • ArgumentError:Ruby 中的参数数量错误

    试图解决这个问题 class Person def initialize name name name end def greet other name puts Hi other name my name is name end end
  • 使用 Mountain Lion、Xcode 4.5 和 RVM 安装 Ruby?

    rvm install 1 9 3 with gcc clang 根据建议无法使用 RVM 在 Lion 下安装 Ruby GCC 问题 https stackoverflow com questions 8032824 cant inst
  • 查找 Rails 应用程序中未使用的代码

    如何查找正在运行和未运行的代码生产中 该应用程序经过充分测试 但还有很多测试unused代码 因此 他们在运行测试时得到覆盖 我想重构并清理这个烂摊子 它一直在浪费我的时间 我有很多后台工作 这就是为什么我希望生产环境来指导我 在 Hero

随机推荐

  • SPARQL 查询传递

    我是 SPARQL 的初学者 想知道是否有一个查询可以帮助我返回传递关系 例如下面的 n3 文件 我想要一个返回 a 与 c 相同 或类似内容的查询 谢谢 prefix
  • 我们如何或可以通过 npm 与 Meteor 使用节点模块?

    我们如何或者我们可以通过 npm 使用节点模块Meteor 或者这取决于包装API 或者有推荐的规定方法吗 流星1 3于 2016 年 3 月 28 日发布 为应用程序提供完整的 ES6 ES2015 模块支持和开箱即用的 NPM 支持 应
  • ASP.Net Core:使用共享项目在多个项目之间共享静态资源(css / js)

    从这里汲取灵感 http rion io 2017 03 22 sharing is caring using shared projects in asp net 我尝试使用共享项目在多个 ASP Net Core 项目之间共享静态资产
  • 正则表达式匹配最后一个空格字符

    我需要一些帮助 我正在寻找一个与字符串中最后一个空格字符匹配的正则表达式 我正在使用 JavaScript 和经典 ASP 我有一长串文本 我将其修剪为 100 个字符 我想删除最后一个字符 以避免由于 100 个字符的限制而修剪单词时出现
  • 强制 EditText 在按下后退时失去焦点

    当用户按下后退按钮隐藏键盘时 我试图强制 EditText 控件失去焦点 已经有很多类似的问题了 但是几个小时后 我还没有能够让它发挥作用 首先 简单介绍一下背景 我有一个带有自定义项目的 ListView 每一项都有多个 TextView
  • 在领域对象服务器上的不同用户之间共享领域?

    目前有没有办法允许多个用户访问同一个 Realm 现在我能找到的唯一方法是使用 应用程序帐户 而不是用户帐户 如建议的那样另一个问题 thanks 通常 您可以连接到虚拟路径中的 Realm 文件 它们必须始终是绝对的 因此以斜杠开头 并且
  • 角度形式数据不会附加

    我正在尝试使用 Angular 6 上传文件 但是 我似乎无法附加我的 formData 一点帮助 谢谢 home component ts export class HomeComponent implements OnInit sele
  • PHP中如何获取字符数?

    mb strlen只给出字节数 这不是我想要的 它应该适用于多字节字符 mb strlen text UTF 8
  • 您的应用程序正在使用包含 SQL 注入漏洞的内容提供商

    我有 2 个应用程序 第二个应用程序通过内容提供程序与第一个应用程序交互以获取一些凭据 今天在 Playstore 上上传我的 apk 时出现错误 SQL 注入 您的应用程序正在使用包含 SQL 注入漏洞的内容提供程序 要解决此问题 请按照
  • Java 异常错误 - Sqlite preparedStatement.setBlob

    我将图像放入数据库中 它可以是 MYSQL 数据库 服务器 或 SQLITE 数据库 路上使用的平板电脑 Java 应用程序每天与服务器同步 上传新数据并下载任何新数据 那部分运作良好 然而 要求它也能够处理图像 我们选择在数据库中使用 b
  • 自定义tinymce 4.0.5 styleselect工具栏菜单

    我正在尝试自定义默认值styleselect工具栏菜单 这样我就可以向其中添加自定义菜单元素 这个想法是将字体大小设置为styleselect子菜单 我初始化了一个TinyMCE 4 0 5通过以下方式 tinymce init langu
  • Inno Setup 中序列号的自定义页面

    如何在 Inno Setup 中使用序列号编辑框创建自定义页面 例如 6x5 个字符还是 7x5 个字符 脚本应在 下一步 按钮可用之前检查是否已填写所有框 如果可以实现复制 粘贴功能 如果剪贴板内容与序列号模式匹配 则允许填充所有编辑框
  • 如何在 Python 中将字符串包装到文件中?

    如何使用字符串的内容创建类似文件的对象 与文件相同的鸭子类型 对于 Python 2 x 请使用StringIO模块 例如 gt gt gt from cStringIO import StringIO gt gt gt f StringI
  • Android画布填充背景色(Canvas应用程序)

    通过以下代码 我有一些疑问 public class MainActivity extends Activity Override public void onCreate Bundle savedInstanceState super o
  • 我们可以自己写一个EOF字符吗?

    大多数语言 例如 C 在写入文件时都会放置一个 EOF 字符 即使我们错过了编写如下语句 文件流 关闭 但是有没有办法 我们可以根据我们的要求来放置EOF字符 例如在C 中 或者除了使用 C 中提供的函数之外我们还可以使用任何其他方法 如果
  • 继续取消任务

    我定义了以下任务 var t Task Factory StartNew gt LongRunningMethod cancellationToken cancellationToken t ContinueWith Callback ca
  • Numpy->Cython 转换:编译错误:无法将 'npy_intp *' 转换为 Python 对象

    我有以下代码要正确转换为 cython from numpy import returns winning players or if undecided def score board scores checked zeros board
  • 如何在Python中读取一行csv数据?

    有很多使用 python 读取 csv 数据的例子 比如这个 import csv with open some csv newline as f reader csv reader f for row in reader print ro
  • Apache Spark:如何从 DataFrame 创建矩阵?

    我在 Apache Spark 中有一个带有整数数组的 DataFrame 源是一组图像 我最终想对其进行 PCA 但我在从数组创建矩阵时遇到了麻烦 如何从 RDD 创建矩阵 gt imagerdd traindf map lambda r
  • 将命令行上的变量传递给 Cucumber 测试

    我试图将黄瓜项目的用户名和密码保留在版本控制之外 有没有办法手动将命令行上的变量 例如用户名和密码 传递给黄瓜脚本 我的备份计划是将它们放入 YML 文件中 并将该文件添加到 gitignore 这样它们就不会被置于版本控制中 所以 我看到