有人知道如何使用Sencha Test 2.1驗證消息框內的文本?Sencha測試驗證MessageBox的內容
我成功地獲取實際的MessageBox這樣的:
ST.panel('messagebox').visible();
所以我想要做的事,如:
ST.panel('messagebox').visible().expect('value').toEqual('Awesome, all went well!');
我試過值,文本等不能似乎找到一個財產使用。
有人知道如何使用Sencha Test 2.1驗證消息框內的文本?Sencha測試驗證MessageBox的內容
我成功地獲取實際的MessageBox這樣的:
ST.panel('messagebox').visible();
所以我想要做的事,如:
ST.panel('messagebox').visible().expect('value').toEqual('Awesome, all went well!');
我試過值,文本等不能似乎找到一個財產使用。
高興你想通出一個解決方案。如果你想更直接斷言的「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
我做這樣的: (此代碼是一個網頁對象中)
messageBox: function() {
return ST.panel('messagebox').visible();
},
this.messageBox().element('[html="Awesome, all went well!"]').visible();
(不,這不是真正的消息框的內容;))
這確實是最好:) 但是我不能像那樣我使用html。 我得到期望undefined是'真棒,一切順利'。 你試過這個嗎? –
啊,對不起,你是對的。 MessageBox中有許多嵌套的組件,所以我們需要首先找到正確的組件,然後從中抽取html。我用一個工作示例更新了答案。謝謝! –