Javascript 动态加载列表的单个测试用例-WDIO Mocha
在我的网站,我有一个模态。在这个模式中,有选项卡,选项卡中有子选项卡的可能性 使用WDIO、Mocha和selenium,我的目标是登录到系统,加载模式,然后针对每个选项卡(如果没有子选项卡),验证表单上的数据。如果存在子选项卡,请验证每个子选项卡上的数据,然后转到下一个选项卡并重复 以下是一个例子: 模式1包含选项卡:运动、科学、食品Javascript 动态加载列表的单个测试用例-WDIO Mocha,javascript,selenium,testing,dynamic,mocha.js,Javascript,Selenium,Testing,Dynamic,Mocha.js,在我的网站,我有一个模态。在这个模式中,有选项卡,选项卡中有子选项卡的可能性 使用WDIO、Mocha和selenium,我的目标是登录到系统,加载模式,然后针对每个选项卡(如果没有子选项卡),验证表单上的数据。如果存在子选项卡,请验证每个子选项卡上的数据,然后转到下一个选项卡并重复 以下是一个例子: 模式1包含选项卡:运动、科学、食品 在“运动”选项卡中,有曲棍球和足球 在“科学”选项卡中,没有子选项卡 在食品标签中,有水果、蔬菜、蛋白质 本例的预期输出为: 登录 打开模型 单击运动选项
- 在“运动”选项卡中,有曲棍球和足球
- 在“科学”选项卡中,没有子选项卡
- 在食品标签中,有水果、蔬菜、蛋白质
- 登录
- 打开模型
- 单击运动选项卡->查看子选项卡->单击每个子选项卡并验证数据
- 单击科学选项卡查看是否有子选项卡验证数据
- 单击食物选项卡->查看子选项卡->单击每个子选项卡并验证数据
describe('Test suite for modal 1', function(){
it('Login', function(){
functions.login(); //Logs into the system
});
it('Open modal', function(){
functions.openModal(); //Opens Modal
tabs = functions.getTabs(); //Global variable tabs[]
});
tabs.forEach(function(tab){
tab.click(); //Loads the tab
subtabs = functions.getSubTabs(); //Global variables subtabs[]
it('Validate tab', function(){
if(subtabs.length > 0){ //If there ARE subtabs
subtabs.forEach(function(subtab){ //For each subtab
it('Validate subtab', function(){
subtab.click(); //Load the subtab
validateForm(); //Validate the data
});
});
}
validateForm();
});
});
});
我现在明白了,这是行不通的,因为它不能相互嵌套
我也试过了
描述('Test model',function()){
用于(选项卡中的常量项){
它('现在应该循环通过选项卡',函数(项){
log(arr1[item].getText());
浏览器.暂停(2000年);
})
用于(子选项卡中的常数项2){
它('现在应该循环通过子选项卡',函数(项){
log(arr2[item2].getText());
浏览器.暂停(2000年);
})
}
}
})
为什么要迭代它,或者您可以在它内部定义for循环,它将解决您的问题。在每一步之间,你都可以通过承诺来验证我想要迭代的函数,因此,如果其中一步失败,它不会停止整个测试。相反,它将继续到下一个选项卡/子选项卡,并提醒我失败。