数据驱动 ios-Calabash 自动化测试使用 xml 或 css 或全局变量
data driven ios-Calabash automated testing using xml or css or global variables
我正在使用 calabash-ios 进行自动化测试。我希望能够 运行 黄瓜一次,并在测试场景 ios.
的范围内对 x 个用户名和 运行 进行 运行 x 次
我想用这个:
假设我使用 ID [#{Login-name}] 和密码 "PASSWORD" 作为 [#{country-name}] 用户登录
并有一个全局变量,可以存储国家和用户名的值。
我曾希望使用脚本来 运行 黄瓜 x 次并每次都设置全局变量的值。这可能吗?如果是这样,有人可以指出正确的方向吗?
我试过使用:
@@登录名=值
但出现此错误:
features/step_definitions/common.rb:1: 警告:class 来自顶层的变量访问
对象中未初始化的 class 变量 @@Login (NameError)
否则,是否可以使用 calabash 访问存储在 xml 或 css 文件中的数据?
如果你想 运行 同一个黄瓜 运行 多次使用一些不同的变量,你可以只使用环境变量。
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
我正在使用 calabash-ios 进行自动化测试。我希望能够 运行 黄瓜一次,并在测试场景 ios.
的范围内对 x 个用户名和 运行 进行 运行 x 次我想用这个:
假设我使用 ID [#{Login-name}] 和密码 "PASSWORD" 作为 [#{country-name}] 用户登录 并有一个全局变量,可以存储国家和用户名的值。
我曾希望使用脚本来 运行 黄瓜 x 次并每次都设置全局变量的值。这可能吗?如果是这样,有人可以指出正确的方向吗?
我试过使用: @@登录名=值 但出现此错误: features/step_definitions/common.rb:1: 警告:class 来自顶层的变量访问 对象中未初始化的 class 变量 @@Login (NameError)
否则,是否可以使用 calabash 访问存储在 xml 或 css 文件中的数据?
如果你想 运行 同一个黄瓜 运行 多次使用一些不同的变量,你可以只使用环境变量。
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