angularjs – for循环和if量角器中的问题
发布时间:2020-12-17 17:16:31 所属栏目:安全 来源:网络整理
导读:我正在尝试对基于浏览器的应用程序进行e2e测试,该应用程序向设备发送操作然后对其进行监视.然后,网页从应用程序获取更新,但不会自动刷新.我的以下代码的目的是刷新浏览器以获取操作状态的更新,启动循环计数器,检查操作的状态,是否状态是否已修复 – 将该状态
我正在尝试对基于浏览器的应用程序进行e2e测试,该应用程序向设备发送操作然后对其进行监视.然后,网页从应用程序获取更新,但不会自动刷新.我的以下代码的目的是刷新浏览器以获取操作状态的更新,启动循环计数器,检查操作的状态,是否状态是否已修复 – 将该状态发送到控制台并退出循环,否则增加计数器并重复循环,直到计数器到期或修复或失败或返回锁定状态.此外,将最终操作状态发送到控制台.
代码如下: browser.sleep(30000); browser.refresh(); for (var i = 0; i < 50; ++i) { console.log('i is: ',i); element(by.css('.deployment-card-status,result.status')).getText().then(function(text){ var action_status = text; if (action_status == 'Fixed'){ console.log('Action Passed'); break(); } else { browser.sleep(30000); browser.refresh(); } if (action_status == 'Failed' || action_status == 'Blocked'){ console.log('Action Failed'); } }); } 网页是用角度js编写的,我试图用Protractor和Jasmine框架测试它. 问题是以下错误代码: 错误代码:100 我无法想象这个意想不到的令牌是什么? 解决方法
首先,你不应该调用break(),你应该使用break;代替.
虽然,后续问题是中断不会对此产生任何影响,因为你实际上不在循环中(好吧,如果你从上到下阅读代码,是的,但我们在异步环境中工作,并且是在这一点上的承诺解决功能).所以,你会得到SyntaxError:Illegal break语句错误. 解决它的一种方法是使用done()函数 – 来自jasmine测试的“返回”: it("should test something",function (done) { browser.sleep(30000); browser.refresh(); for (var i = 0; i < 50; ++i) { console.log('i is: ',i); element(by.css('.deployment-card-status,result.status')).getText().then(function(text){ var action_status = text; if (action_status == 'Fixed'){ console.log('Action Passed'); done(); } else { browser.sleep(30000); browser.refresh(); } if (action_status == 'Failed' || action_status == 'Blocked'){ console.log('Action Failed'); } }); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |