• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 使用 xml 或 css 或全局变量的数据驱动 ios-Calabash 自动化测试

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:35:08 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用 calabash-ios 进行自动化测试。我希望能够运行 cucumber 一次,并让它为 x 个用户名运行 x 次,并运行整个测试场景。

我想用这个:

假设我使用 id [#{Login-name}] 和 pwd "PASSWORD"作为 [#{country-name}] 用户登录 并且有一个全局变量可以存储国家和用户名的值。

我曾希望使用脚本运行 cucumber x 次并每次设置全局变量的值。这可能吗?如果是这样,有人能指出我正确的方向吗?

我尝试使用: @@登录名=值 但收到此错误: features/step_definitions/common.rb:1:警告:从顶层访问类变量 对象中未初始化的类变量@@Login (NameError)

如果失败了,是否可以使用 calabash 访问存储在 xml 或 css 文件中的数据?



Best Answer-推荐答案


如果你想用一些不同的变量多次运行同一个 cucumber ,你可以使用环境变量。

Given I login as "ENV['COUNTRY_NAME']" user using id "ENV['LOGIN_NAME']" and pwd "ASSWORD"

然后当你运行测试时

LOGIN_NAME='login name' COUNTRY_NAME=country bundle exec cucumber 

然后你当然可以把你想运行的所有行放到一个 bat 或 sh 脚本中。

需要注意的一件事是使用环境变量或其他变量来更改输出路径,以免覆盖它们。

但是,更优雅的解决方案是使用运行所有其他任务的 rake 任务来处理它。最有效的编写方式取决于您需要多少次不同的运行。

task :all => [:task1, :task2, :task3]

编辑:为了使您的场景更具可读性,您应该在场景中使用通用占位符并在步骤定义中隐藏环境变量。

    Given I login as a user

可能有一个看起来像这样的步骤定义:

Given /^I login as a user$/ do
  ... set up your page object here ...     
  login_page.login(ENV['COUNTRY_NAME'], ENV['LOGIN_NAME'])
end

关于ios - 使用 xml 或 css 或全局变量的数据驱动 ios-Calabash 自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599304/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap