0

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

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

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

所以我想做类似的事情:

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

我试过价值、文本等似乎找不到要使用的属性。

4

2 回答 2

1

我是这样做的:(此代码在页面对象中)

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

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

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

于 2017-05-26T18:33:11.350 回答
1

很高兴您找到了解决方案。如果您想对“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

于 2017-05-31T12:02:40.733 回答