我没有Ruby大师,所以我可以得到一些帮助:我想添加所需的任何代码,以便有一个选项,其中以下case语句将执行每个案例。基本上,如果用户声明了一个浏览器'在命令行命名然后Cucumber selenium测试将针对某个平台/浏览器运行。我想要它,以便如果他们宣布所有',或者如果他们宣布什么都没有(否则),那么每个案件都将被执行。
由于
case ENV['BROWSER']
when 'safari'
$browser = Selenium::WebDriver.for :safari
$browser_name = 'Safari'
when 'mobile'
$browser = Selenium::WebDriver.for :chrome
$browser_name = 'Mobile'
$browser.manage.window.resize_to(400, 650)
else
$browser = Selenium::WebDriver.for :chrome
$browser_name = 'Chrome'
end
答案 0 :(得分:3)
如果你需要那种东西, mainInterval = $interval(function() {
$scope.doughnutData = [];
$http.get('https://api.myjson.com/bins/59zvx').success(function(returnedData) {
$scope.username = returnedData.name;
$scope.totalscore = returnedData.totalScore.toFixed(3);
returnedData.models.forEach(function(x) {
var score = x.score.toFixed(3);
console.debug(score);
if (score >= 75) {
$scope.doughnutData.push({
'value': x.score,
'color': '#F7464A',
'highlight': '#FF5A5E',
'label': x.name
});
} else if (score >= 50) {
$scope.doughnutData.push({
'value': x.score,
'color': '#FDB45C',
'highlight': '#FFC870',
'label': x.name
});
} else {
$scope.doughnutData.push({
'value': x.score,
'color': '#424242',
'highlight': '#686868',
'label': x.name
});
}
});
$scope.doughnutData = sortByKey($scope.doughnutData, 'value');
myDoughnut.segments = $scope.doughnutData;
myDoughnut.update();
});
}, 5000);
语句只是解决方案的一部分。你也需要迭代。打破一点点不同:
case
此扩展允许您触发零个,一个或多个浏览器,并根据需要设置任意别名。
答案 1 :(得分:0)
然后你不需要开关。 switch语句的目的是不运行所有其他情况(它被设计为独占)。只需使用if
语句即可。
实际上有几种方法可以设置if
,但如果你想让它看起来像开关一样,这可能是你最好的选择:
if ENV['BROWSER'] == 'safari' || ENV['BROWSER'] == 'all'
# do safari stuff
end
if ENV['BROWSER'] == 'mobile' || ENV['BROWSER'] == 'all'
# do mobile stuff
end
if ENV['BROWSER'] == 'chrome' || ENV['BROWSER'] == 'all'
# do chrome stuff
end