gpt4 book ai didi

karma-runner - 如何在 karma 运行器中获取“文档” DOM节点

转载 作者:行者123 更新时间:2023-12-02 04:49:35 25 4
gpt4 key购买 nike

我正在尝试使用Jasmine为Karma中的现有Web应用程序编写测试。

在我的index.html文件中,我有一个标签,其中包含一个函数,该函数按以下方式进行调用:

document.getElementById("myButton")


在浏览器中使用Web应用程序时,此方法工作正常,但在Karma中运行测试时,“文档”似乎是指context.html文档,而不是我应用程序的index.html文档(因此,在查找时,getElementById返回null在错误的位置)。

我应该如何获得Karma正在测试的JS中HTML元素的引用?

我希望它默认情况下会选择正确的文档,因为Javascript位于该HTML文件中。

这是演示我的问题的最简单示例(它甚至不需要包含测试就可以演示失败!):

karma.conf.js:

module.exports = function(config) {
config.set({
// list of files / patterns to load in the browser
files: [
'src/main/webapp/public/index.html',
],


// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],


// web server port
port: 9876,


// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Chrome'],


// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
});
};


index.html:

<html>
<head>
</head>
<body>
<button id="myButton" disabled>My Button</button>
<script type="text/javascript">
document.getElementById("myButton").disabled = false;
</script>
</body>
</html>


运行 karma start然后产生以下输出:

INFO [karma]: Karma v0.12.17 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 36.0.1985 (Windows 7)]: Connected on socket 43zhn5jHmSmDU4QzUqQ6 with id 83536471
Chrome 36.0.1985 (Windows 7) ERROR
Uncaught TypeError: Cannot set property 'disabled' of null
at C:/***/src/main/webapp/public/index.html:7


我对Karma并不陌生,所以我想我错过了一些东西,但这使我什至无法开始使用它。

最佳答案

由于某种原因,document.getElementById在Karma下返回null。尝试使用jquery表示法:$('#myButton')

关于karma-runner - 如何在 karma 运行器中获取“文档” DOM节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25037378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com