加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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
收到的信号:null
在http://localhost:4444/wd/hub使用selenium服务器
[launcher]运行WebDriver的1个实例
[launcher]错误:SyntaxError:意外的令牌

我无法想象这个意想不到的令牌是什么?

解决方法

首先,你不应该调用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');
            }
        });
    }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读