我正在尝试为使用Protractor的Electron运行的应用程序设置单元测试和e2e测试.我一直在推荐许多不同的帖子(这个确实有帮助),但我仍然得到一个我不明白的错误:
Message:
Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
Stacktrace:
undefined
Run Code Online (Sandbox Code Playgroud)
我的conf.js文件如下所示:
exports.config = {
directConnect : true,
seleniumAddress: 'http://localhost:4444/wd/hub',
baseUrl:"file://home/me/workspace/testing-project/main.js",
capabilities: {
browserName: "chrome",
chromeOptions: {
binary: "/home/me/.linuxbrew/lib/node_modules/electron-prebuilt/dist/electron",
args: ["--test-type=webdriver"]
}
},
specs: ['todo-specs.js'],
onPrepare: function(){
browser.resetUrl = "file://";
browser.driver.get("file://");
}
};
Run Code Online (Sandbox Code Playgroud)
考虑到量角器网站上提供的文档,我的印象是我不需要安装任何其他东西(例如Jasmine).
让我感到惊讶的是,尽管main.js的路径(根据Electron的规格启动应用程序)是正确的,但我看不到弹出的Electron窗口中的任何内容.
你们有没有遇到过这个问题?你有设法解决它吗?
我目前正在使用 TypeScript 和 Angular2 开发一个 Electron 应用程序,为此我创建了许多不同的类,所有类都在单独的文件中。为了使我的应用程序的重构更容易,我希望在导入这些类时不必使用相对路径。
现在,要导入它们,我使用以下语法:import {Trigger} from './../../trigger/ts/trigger.component';
我想做的是使用如下所示的语法:import {Trigger} from 'trigger.component';
这可能吗?
我目前正在尝试实现一个应该使一些DOM元素闪烁的指令.为此,我$timeout用于将元素的可见性设置为可见或隐藏.我的问题是,如果在$timeout通话中我硬编码一个值(比如'500'),一切都运行得很顺利.但是如果我尝试通过变量传递这个参数,我会让元素快速闪烁,好像没有输入任何参数(默认值为'0').
HTML
<button class="btn btn-key"><span class="blink" blinkSpeed='500'>Q</span></button>
{{displayBlinkSpeed}}
Run Code Online (Sandbox Code Playgroud)
JS
.directive('blink',function($timeout){
return{
restrict:'ACE',
transclude: true,
scope:{
blinkSpeed: '='
},
link: function(scope,element,attrs){
function showElement(){
var speed = parseInt(scope.blinkSpeed);
element.css("visibility","visible");
$timeout(hideElement,speed);
scope.displayBlinkSpeed = speed;
}
function hideElement(){
var speed = parseInt(scope.blinkSpeed);
element.css("visibility","hidden");
$timeout(showElement,speed);
scope.displayBlinkSpeed = speed;
}
showElement();
},
template: '<span ng-transclude></span>',
replace: true
};
});
Run Code Online (Sandbox Code Playgroud)
另外,我忘了提到{{displayBlinkSpeed}}HTML中也没有显示任何内容.我的猜测是我的指令无法与DOM通信(接收/发送)信息.不幸的是,我还没有办法让它发挥作用.我错过了/误解了什么吗?
angularjs ×2
electron ×2
angular ×1
html ×1
javascript ×1
jquery ×1
protractor ×1
testing ×1
typescript ×1