如何在Protactor中启动任何测试用例之前运行javascript函数?

时间:2017-04-07 18:01:10

标签: angularjs testing protractor angularjs-e2e e2e-testing

实际上,我正在为一个角度应用程序编写一些测试用例,但是第一页太多时间负载并且有一个弹出框用于指令。所以我需要在浏览器的localStorage中存储一些值,以使弹出框不可见。那么在运行任何测试用例之前如何运行任何javascript函数?

1 个答案:

答案 0 :(得分:1)

默认情况下,量角器正在与angular进行同步,这使得它等待$ http或$ timeout,您可以检查此特定页面上的情况是否为Canonical way to debug Protractor-to-Angular sync issues

或者您可以使用模拟模块注入行为

protractor.config.js

onPrepare: function() {
    var doTheFuncyStuff= function() {
        angular
            .module('doTheFuncyStuff', [])
            .run([function(){
              //do something here so the popup isn't displayed
              window.localStorage.setItem('my-var', 'my-val');
            }]);
    };

    browser.addMockModule('doTheFuncyStuff', doTheFuncyStuff);
}