Sencha Test 验证 MessageBox 的内容

Sencha Test validate content of MessageBox

有人知道如何使用 Sencha Test 2.1 验证 Messagebox 中的文本吗?

我成功地检索了这样的实际消息框:

ST.panel('messagebox').visible();

所以我想做这样的事情:

ST.panel('messagebox').visible().expect('value').toEqual('Awesome, all went well!');

我试过值、文本等似乎无法找到 属性 来使用。

我是这样做的: (此代码位于页面对象内)

messageBox: function () {
        return ST.panel('messagebox').visible();
},

this.messageBox().element('[html="Awesome, all went well!"]').visible();

(不,这不是消息框的内容;))

很高兴您找到了解决方案。如果你想对 "html" 进行更多的直接断言,你可以这样做:

it('should have the right html', function () {
    Ext.Msg.alert('Title', 'Awesome, all went well');

    ST.panel('messagebox')
      .gotoComponent('[cls=x-window-text]')
      .get('html')
      .and(function () {
          expect(this.future.data.html).toBe('Awesome, all went well');
      }); 
});

或者更紧凑:

it('should have the right html', function () {
    Ext.Msg.alert('Title', 'Awesome, all went well');

    ST.panel('messagebox')
      .gotoComponent('[cls=x-window-text]')
      .expect('html')
      .toBe('Awesome, all went well'); 
});

http://docs.sencha.com/sencha_test/2.1.0/api/ST.future.Component.html#method-get