我尝试在Jasmine测试中访问iframe
的内容
<iframe
src="http://www.*******.net/"
style="width:100%; height: 100%;"
class="frame"
id="test-frame"
></iframe>
JS代码:
describe('DOM of color elements checking', function () {
jasmine.getFixtures().fixturesPath = 'base/tests/units/js/fixtures';
jasmine.getFixtures().load('frame.html');
var fixtureIframe = readFixtures('iframe.html'); //here is iframe HTML
$('.workspace__iframe-wrapper').append(fixtureIframe);
$('iframe').load(function(){
var body = $('.frame').contents().find('body');
console.log(body);
});
});
但iframe
中的内容无法加载。
为什么会这样?
答案 0 :(得分:0)
我找到了解决方案。启动测试后加载iframe。这就是我的测试没有看到iframe的原因。我添加了beforeEach函数,其中写了
JS
beforeEach(function(done){
jasmine.getFixtures().fixturesPath = 'base/tests/units/js/fixtures';
jasmine.getFixtures().load('frame.html');
interval = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000;
intId = setInterval(function() {
$('#frame').load(function(){
done();
});
}, 500);
});
所有人都在努力!!!