云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云存储_zuul负载均衡_好用

小七 141 0

负载均衡_ol4数据库_超低折扣

第1部分:设置和单元测试第2部分:集成和OPA测试第3.1部分:模拟服务器第3.2部分:代码覆盖率和其他必要的有用性第4部分:高级测试mumbo jambo(本文)第5部分:数字、经验和业务影响

测试设置完成,功能测试和集成测试已经完成,大数据中心,Mockserver和跨浏览器测试自动化都已经就绪。

现在让我们看看一些更高级的测试用例/场景,它们甚至可能触及"不按常规"和"需要完成"之间的灰色地带。

以下是本文的目录:

用于定制的QUnit fixture和QUnit DOM控制Web应用程序/控件/输入.jswebapp/测试/单元/视图/App.view.xml文件测试拖放OPA阴性试验UIveri5可视化回归测试第一次跑步回归测试运行结论

定制控件的qunitfixture和qunitdom

QUnit拥有一个特殊的HTML元素qunitfixture,可用于实例化DOM。因此,微博淘客,本质上这意味着你可以将任何UI5视图/控制器对放置在那里,以便与之交互和测试。

将集成测试"下移"到某个级别的可行用例可能是,你只想测试你的应用程序的一部分,例如,在复杂的UI设置中使用的完全成熟的自定义控件。为了测试该自定义控件,您需要在测试期间导航复杂的UI,仅用于"访问"该自定义控件。为了节省导航开销,为什么不将自定义控件放在独立的专用XML视图中呢?

假设我们有一个自定义输入控件,它设置了一个特殊的占位符:

通过在qunit fixture中的一个专用XML视图中隔离自定义控件并在那里实例化/呈现它,测试控件变得更易于管理。

现在剩下的是将各个部分放在一起:

动态实例化视图检索要测试的控件在控件上运行测试

好处:每次测试后,qunit夹具都会被拆掉,因此在随后的测试中不会对其他DOM元素或UI5控件产生干扰。

测试拖放

从UI5 1.56开始,所有UI5控件都普遍引入了拖放功能;期待已久,因为它是一个强大的用户体验概念。

它在元级别上使用,标记描述控件的拖放功能:

在上面的示例中,相应的{d}ragDrop*声明支持本地浏览器级别的事件来拖放列表项。删除后要做什么需要在控制器级别处理(drop=…)。

但是如何测试呢?

方法是多方面的:

把这些放在一个好的"接口"上,用语法糖覆盖它,然后通过"可说"的API消费,看起来像:

好,ey?!?这可能是在源代码处达到峰值的好时机。

现在,请记住,这一切都发生在单元测试级别,没有OPA5,没有UIveri5。在语法上,上述所有内容也可以在OPA5中重用。UIveri5有自己的方法,通过底层的量角器API,使用浏览器.操作().dragAndDrop(node1,node2).

OPA阴性测试

我们在博客系列的第2部分研究了OPA5的集成测试,智能物联,主要介绍了如何找到UI5控件并与之交互。但是,当应用程序逻辑(部分)移动到UI时,通常的做法是动态创建或销毁部分接口。测试可见的和现有的UI5控件很容易,大数据前景怎么样,但是如何检查不存在的控件呢?

在OPA级别编写这种"否定"测试(如:测试不存在的东西)基本上包括两个步骤:

在应用程序中查找所有UI5控件检查控件的标识和状态的可见性和/或存在性

在UI5应用程序中,有许多方法可以在控件树上递归,但是使用jQuery非常简单:

jQuery在App ID上的find()传递了它的所有子代DOM节点。

用SAP的control()扩展对jQuery进行迭代(https://ui5.sap.com/#/api/jQuery/methods/control)将DOM节点转换回其"UI5控件表示"。

然后检查控件本身并检查它是否不是我们正在寻找的控制,从而满足阴性测试要求:

同样,可能是一个很好的时间,在ImakeSurateReisno(sKind,sIdentifier)的完整来源达到峰值,以便对复杂的问题进行分类。

使用UIveri5进行视觉回归测试

测试块上最新的孩子是UIveri5,用于UI5应用程序的跨浏览器端到端测试。该工具本身是如此广泛和强大,值得一个单独的博客系列。我在SAP Inside Track Frankfurt 2019上做了一个初级介绍,淘客吧,可能值得一看,特别是它与OPA的区别。

在本文中,让我们重点介绍如何使用UIveri5进行可视化回归测试。让我们使用一个简单的最小测试用例,所以重点可以放在视觉测试部分:

在它的当前版本中,用于视觉测试的轮廓视觉是…嗯…次优的。更好的方法是重用集成概要文件,并使用屏幕截图功能对其进行增强:

take指示UIveri5截图,compare将截图与参考图像进行比较(详情如下),另外三个设置({storage | screenshot | comparison}Provider)使UIveri5使用本地(也就是在您的计算机上)工具而不是远程功能。顺便说一句:用于图像比较的主要工具是相似.js!

在能够比较图像之前,显然需要一个参考截图。

首先,启动本地Web服务器:grunt serve。

UIveri5将在上述配置文件中设置update:true时自动创建参考截图。参考图像存储在与上述浏览器配置选项相关的文件夹层次结构中:

从命令行启动uiveri5并让它完成工作–请注意,*中的测试。规格js由于缺少参考屏幕截图,在第一次运行期间所有操作都将失败。

运行完成后,选择结果路径并文件,将它们提交到版本控制并用于后续的可视化回归测试运行!

参考图像就位后,在配置文件中设置update:false,然后再次运行uiveri5(不要忘记grunt-serve!)–就是这样: