使用xml或css或全局变量的数据驱动ios葫芦自动测试
我正在使用葫芦ios进行自动测试。我希望能够运行cucumber一次,并让它为x个用户名运行x次,并在所有测试场景中运行 我想用这个: 假设我使用id[#{login name}]和pwd“PASSWORD”以[#{country name}]用户身份登录 并且有一个全局变量,可以存储国家/地区和用户名的值 我曾希望使用脚本来运行cucumber x次,并每次为全局变量设置值。这可能吗?如果是这样,有人能给我指出正确的方向吗 我尝试使用: @@Loginname=值 但我犯了这个错误: features/step_definitions/common.rb:1:警告:从顶级访问类变量 未初始化的类变量@登录对象(NameError)使用xml或css或全局变量的数据驱动ios葫芦自动测试,ios,ruby-on-rails,automated-tests,calabash-ios,Ios,Ruby On Rails,Automated Tests,Calabash Ios,我正在使用葫芦ios进行自动测试。我希望能够运行cucumber一次,并让它为x个用户名运行x次,并在所有测试场景中运行 我想用这个: 假设我使用id[#{login name}]和pwd“PASSWORD”以[#{country name}]用户身份登录 并且有一个全局变量,可以存储国家/地区和用户名的值 我曾希望使用脚本来运行cucumber x次,并每次为全局变量设置值。这可能吗?如果是这样,有人能给我指出正确的方向吗 我尝试使用: @@Loginname=值 但我犯了这个错误: feat
如果失败,是否可以使用葫芦访问存储在xml或css文件中的数据?如果要运行同一个cumber,可以使用一些不同的变量多次运行,只需使用环境变量即可
Given I login as "ENV['COUNTRY_NAME']" user using id "ENV['LOGIN_NAME']" and pwd "PASSWORD"
然后当你运行测试的时候
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
非常感谢。没有考虑使用env变量。这应该能奏效。我不知道什么是rake任务,这将是我在使用sh脚本和env变量运行测试之后查找的第一个任务。我的问题是,如何在步骤中使用env变量?我尝试按原样使用国家名称和[\ENV[\'COUNTRY\u NAME']]。希望你能在这方面帮助我。要在代码中引用它们,你可以这样称呼它们-ENV['COUNTRY_NAME']。不过,我已经更新了底部的答案,让它更漂亮。希望这是有道理的。