OPA5入门教程

news/2024/11/24 13:41:17/

文件结构

integration/navigationJourney.js
OPA测试用例描述

sap.ui.require([//需要引入opaQunit,则可以按照Qunit的书写方式进行书写"sap/ui/test/opaQunit"
], function () {
    "use strict";// 一个测试module,类似于QunitQUnit.module("Navigation");// 一个测试用例,第一个参数字符串描述测试用例功能opaTest("Should open the hello dialog", function (Given, When, Then) {// Arrangements,测试的前期准备工作,例如应用程序启动,特定数据存在Given.iStartMyAppInAFrame(jQuery.sap.getResourcePath("sap/ui/demo/app/test", ".html"));//Actions,虚拟用户动作,以在Assertions中检查是否到达预期状态,主要操作为查找,操作When.onTheAppPage.iPressTheSayHelloWithDialogButton();// Assertions,检查用户操作是否达到预期,主要操作为查找,断言判断,最后关闭iFrameThen.onTheAppPage.iShouldSeeTheHelloDialog().and.iTeardownMyAppFrame();});
});

integration/pages/App.js
具体定义navigationJourney中的各种函数

sap.ui.require(["sap/ui/test/Opa5" //引入Opa5,在其基础上使用createPageObjects()创建辅助对象,定义函数体"导入需要用的依赖""sap/ui/test/actions/Press" //可以在waitFor中的actions : new Press()进行按键操作"sap/ui/test/matchers/PropertyStrictEquals"  //可以在waitFor中的matchers : new PropertyStrictEquals({ name : "text", value : "I got pressed"})匹配找到的元素的某属性是否和期待的一致
],
function (Opa5) {
    "use strict";Opa5.createPageObjects({// opa对于AppPage的辅助对象onTheAppPage: {//Actions,虚拟用户动作,以在Assertions中检查是否到达预期状态,主要操作为查找,success中进行操作actions: {iPressTheSayHelloWithDialogButton: function () {return this.waitFor({controlType: "sap.m.Button",success: function (aButtons) {aButtons[0].$().trigger("tap");},errorMessage: "Did not find the helloDialogButton button on the app page"});}},// Assertions,检查用户操作是否达到预期,主要操作为查找,success中进行断言判断assertions: {iShouldSeeTheHelloDialog: function () {return this.waitFor({controlType: "sap.m.Dialog",success: function () {// we set the view busy, so we need to query the parent of the appOpa5.assert.ok(true, "The dialog is open");},errorMessage: "Did not find the dialog control"});}}}});
});

integration/opaTests.qunit.html
测试页面

<!DOCTYPE html>
<html>
<head><title>Opa tests for SAPUI5 Walkthrough</title><meta http-equiv='X-UA-Compatible' content='IE=edge'><meta charset="utf-8"><script id="sap-ui-bootstrap"src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"data-sap-ui-resourceroots='{//设置相对路径到该文件所在路径"sap.ui.demo.walkthrough.test.integration": "./","sap.ui.demo.app.test" : "../mockServer"}'></script><script>jQuery.sap.require("sap.ui.qunit.qunit-css");jQuery.sap.require("sap.ui.thirdparty.qunit");jQuery.sap.require("sap.ui.qunit.qunit-junit");jQuery.sap.require("sap.ui.test.opaQunit");jQuery.sap.require("sap.ui.test.Opa5");// 导入pages(即用例中调用的函数具体定义)jQuery.sap.require("sap.ui.demo.walkthrough.test.integration.pages.App");// 导入journeys(即用例描述)jQuery.sap.require("sap.ui.demo.walkthrough.test.integration.navigationJourney");</script></head>
<body>
<div id="content"></div>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</body>
</html>

测试开始:
可以以UIComponent开始测试或者以iFrame开始测试,每次开始测试时都要将上一个UIComponet或者iFrame拆卸
UIComponet:

.iStartMyUIComponent({componentConfig: {name: "samples.components.button"} ,hash: "newHashValue"
});

拆卸:

.iTeardownMyUIComponent();

iFrame:

.iStartMyAppInAFrame("index.html?responderOn=true");

拆卸:

new sap.ui.test.Opa5().iTeardownMyApp();
// or
new sap.ui.test.Opa5().iTeardownMyAppFrame();

http://www.ppmy.cn/news/200271.html

相关文章

oppofindx5pro评测

ppoFindX5Pro这次在机身的外观方面&#xff0c;还是继续延续了上一代oppoFindX3Pro的设计思路&#xff0c;相机镜头模块依然是采用圆润的过渡设计&#xff0c;虽然相机镜头略微有所凸起&#xff0c;但是没有上一代那么明显。而且oppoFindX5Pro搭载的环形山的相机模块&#xff0…

OPPOA57刷机/OPPOA57刷机包下载/OPPOA57怎么刷机/OPPOA57刷机教程

①&#xff1a;此线刷包支持解锁&#xff1a;屏幕锁、账户密码锁、图案锁、指纹锁 ②&#xff1a;下载后&#xff0c;将刷机包解压&#xff0c;解压后有一键刷机教程 ③&#xff1a;此线刷包支持救砖&#xff1a;解决不开机、定屏、重启、中毒等问题 ④&#xff1a;官方刷机包&…

day 38,509. 斐波那契数70. 爬楼梯;# 746. 使用最小花费爬楼梯

动态规划 五步分析509. 斐波那契数1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序&#xff08;背包问题先遍历背包还是物品&#xff09;5. 打印dp数组&#xff1a;debug6.代码 70. 爬楼梯1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序5. …

骨传导耳机怎么样、使用效果好的骨传导耳机推荐

经常戴耳机的朋友们都知道&#xff0c;传统的蓝牙耳机虽然比无线耳机方便了一点&#xff0c;但是还是有很多不好的因素存在的。例如入耳式的耳机直接接触耳朵内部时间久了不仅会损害听力&#xff0c;压迫耳朵&#xff0c;而且听诊器的地方会存在一些污垢而后进入耳朵产生一定的…

无线蓝牙骨传导、骨传导蓝牙耳机品牌推荐

骨传导耳机使用时不用入耳&#xff0c;直接挂在耳朵上即可。对于耳廓和外耳道条件不好的人来说非常友好&#xff0c;骨传导耳机也是耳科医生优先推荐的。骨传导耳机是根据国人耳朵的轮廓特征专门设计的&#xff0c;整体造型像两只小海马&#xff0c;每个弧度都经过细心打磨&…

骨传导耳机怎么样

骨传导耳机还挺区分使用人群的&#xff0c;如果你是个音质发烧友&#xff0c;那估计是不能满足你的使用需求&#xff0c;但如果你是个喜欢边运动边听歌、边走路边听歌的人的话&#xff0c;那相信骨传导耳机对你来说是非常有用&#xff0c;不需要入耳佩戴设计&#xff0c;可以有…

骨传导蓝牙耳机排名,最值得推荐的骨传导耳机

我们在初中的时候就已经学过&#xff0c;声音的传播介质包括固体、液体和空气&#xff0c;而一般情况下声波传入人体内耳的方式有空气传导和骨传导两种方式&#xff0c;空气传导是我们所熟知的声波经耳廓和外耳道传递到中耳&#xff0c;再经听骨链传到内耳。而骨传导是声波通过…

骨传导耳机对大脑危害有哪些?骨传导耳机怎么样

先说结论&#xff0c;佩戴骨传导耳机不会对我们的大脑产生危害。 骨传导耳机虽然是近两年在走向我们大众视野&#xff0c;但是骨传导技术早就已经在医疗、军事领域广泛应用&#xff0c;骨传导也不是什么高端的技术&#xff0c;像我们平常嗑瓜子&#xff0c;吃薯片&#xff0c;…