我一直在尝试自动化一个我必须创建一组 URL 的情况。因此,在执行以下脚本后,将添加所需的所有组。在完成所有任务后,它抛出超时错误。但是,在其他规范中使用时,相同的对象可以完美地工作。
describe('Test for ToolbarExpandField',function(){
it('Creating a new url group',function(){
emulator.createNewURLGroup(URLGroupName,URLGroupList);
})
})
createNewURLGroup:function(URLGroupName,URLGroupList){
base.click(base.byElement(base.getLocator(emulatorObjects.dropUpBodyOption,['New URL Group'])));
emulatorObjects.uRLGroupNameField.sendKeys(URLGroupName);
browser.waitForAngular();
base.click(emulatorObjects.confirmButton);
expect(base.byElement(base.byCss("option[value = '"+URLGroupName+"']")).getText()).toEqual(URLGroupName);
for(var i = 1; i<URLGroupList.length ; i++){
tsHelper.checkPresence(emulatorObjects.addNewUrlDiv,true);
base.click(emulatorObjects.addNewUrlDiv);
emulatorObjects.urlNameField.sendKeys(URLGroupList[i].name);
emulatorObjects.urlLinkField.sendKeys(URLGroupList[i].link);
base.click(emulatorObjects.saveUrlDetails);
}
tsHelper.checkPresence(emulatorObjects.addNewUrlDiv,false);
base.click(emulatorObjects.confirmButton);// Errors occur here
}
测试的目的是检查和测试某些东西。因此,每个测试用例都应该有一些期望和结果。这就是为什么当你在其他一些测试用例中使用它时,它起作用了,因为这些测试用例一定已经有一些期望。
您可以在调用函数后向Creating a new url group
测试用例添加期望createNewURLGroup
或者如果您没有任何要检查的内容,那么您可以添加始终为真的期望(不是一个好方法):
例:
it('Creating a new url group',function(){
emulator.createNewURLGroup(URLGroupName,URLGroupList);
expect(true).toBeTruthy();
})