ruby – 在不同环境下运行黄瓜测试
发布时间:2020-12-16 23:30:14 所属栏目:百科 来源:网络整理
导读:我正在使用Cucumber和Capybara进行自动化前端测试. 我有两个环境,我想运行我的测试.一个是临时环境,另一个是生产环境. 目前,我已将我的测试编写为直接访问分段. visit('https://staging.somewhere.com') 我想重新使用生产中的测试(https://production.somewh
我正在使用Cucumber和Capybara进行自动化前端测试.
我有两个环境,我想运行我的测试.一个是临时环境,另一个是生产环境. 目前,我已将我的测试编写为直接访问分段. visit('https://staging.somewhere.com') 我想重新使用生产中的测试(https://production.somewhere.com). 是否可以将URL存储在我的步骤定义中的变量中 visit(domain) 并使用从命令行调用的环境变量定义域?喜欢 $> bundle exec cucumber features DOMAIN=staging 如果我想将测试指向我的暂存环境,或者 $> bundle exec cucumber features DOMAIN=production 如果我想让它在生产中运行? 我该如何设置呢?我是Ruby的新手,我一直在论坛上搜索直接的信息,但找不到任何信息.如果我能提供更多信息,请告诉我.谢谢你的帮助! 解决方法
在项目的配置文件中,创建一个config.yml文件
--- staging: :url: https://staging.somewhere.com production: :url: https://production.somewhere.com 然后yml文件中的冒号允许将散列键作为符号调用. 在support / env.rb文件中,添加以下内容 require 'yaml' ENV['TEST_ENV'] ||= 'staging' project_root = File.expand_path('../..',__FILE__) $BASE_URL = YAML.load_file(project_root + "/config/config.yml")[ENV['TEST_ENV']][:url] 除非您覆盖TEST_ENV,否则这将默认为暂存环境.然后,从您的步骤或钩子,您可以致电: visit($BASE_URL) 或者您可能需要:/ visit "#{$BASE_URL}" 这将允许您使用 bundle exec cucumber features TEST_ENV=production (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |