Sapui5 接入组件';从OpaTest得到的si18n模型

Sapui5 接入组件';从OpaTest得到的si18n模型,sapui5,Sapui5,我正在使用组件启动器创建测试,我希望通过绑定到组件的i18n模型的文本来匹配按钮 我的观点是: 我的测试看起来像: iPressRemove:函数(){ 把这个还给我,等等({ 控件类型:“sap.m.Button”, 视图名称:sViewName, matchers:新的PropertyStrictEquals({ 名称:“文本”, 值:“” }), 行动:新媒体(), 错误消息:“未找到删除按钮” }); } 如何确定i18n模型文本的值?我想我在测试教程中找到了答案,您可以从页面上获

我正在使用组件启动器创建测试,我希望通过绑定到组件的i18n模型的文本来匹配按钮

我的观点是:


我的测试看起来像:

iPressRemove:函数(){
把这个还给我,等等({
控件类型:“sap.m.Button”,
视图名称:sViewName,
matchers:新的PropertyStrictEquals({
名称:“文本”,
值:“”
}),
行动:新媒体(),
错误消息:“未找到删除按钮”
});
}

如何确定i18n模型文本的值?

我想我在测试教程中找到了答案,您可以从页面上获得i18n模型

标题应显示项目总数:函数(){
把这个还给我,等等({
id:“表格标题”,
视图名称:sViewName,
匹配器:函数(oPage){
var sExpectedText=oPage.getModel(“i18n”).getResourceBundle().getText(“worklistTableTitleCount”,[23]);
返回新的PropertyStrictEquals({
名称:“文本”,
值:sExpectedText
}).isMatching(oPage);
},
成功:函数(){
ok(true,“表头有23项”);
},
errorMessage:“表格标题不包含项目数:23”
});
}
我的解决方案是在加载页面时存储资源包

var-oI18nResourceBundle;
页面应可见:函数(){
把这个还给我,等等({
id:“myPage”,
视图名称:sViewName,
成功:功能(oPage){
oI18nResourceBundle=oPage.getModel(“i18n”).getResourceBundle();
Opa5.assert.ok(true,“页面呈现”);
},
errorMessage:“未呈现页面。”
});
}

您可以从以下视图中获取:

this.getView().getModel(“i18n”).getResourceBundle().getText(“CHECK_WEBUI”);

像这样加载资源模型:

var-sapResourceBundle; var-oResourceBundle

QUnit.module("Module name", {
  beforeEach: function () {
    this.sapResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
    this.oResourceBundle = new ResourceModel({
      bundleUrl: jQuery.sap.getModulePath("your_module", "/i18n/i18n.properties")
    }).getResourceBundle();
  }

});
然后使用oResourceBundle.getText(“translation\u key”) 就像在控制器中一样