Jasmine不会加载iframe的内容

时间:2015-08-18 10:36:54

标签: javascript jquery iframe jasmine

我尝试在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中的内容无法加载。

为什么会这样?

1 个答案:

答案 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);
});

所有人都在努力!!!