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

_服务器响应慢_价格

小七 141 0

服务器有哪些_购买_物联网设备安全

这是关于使用testcafe进行自动化测试(端到端和集成测试)的博客系列的第四部分。博客系列包括以下部分:

在第4部分中,我们将实现e2e测试的代码覆盖率,并使用testcafe实现集成测试。

代码覆盖率可用于确定测试的范围。结果将显示测试调用了哪一行代码、哪一个代码分支(If/else/)以及哪些过程/函数。代码覆盖率特别用于单元测试中,用来衡量测试的质量——有些项目给出了最低的代码覆盖率要求(例如,所有行的80%),以确保质量。为了实现代码覆盖率,通常在测试执行之前对代码进行检测。从技术上讲,对于代码的每一行、方法和分支,"instrument工具"都会添加额外的代码,它可以识别调用。想象一下下面的方法:

插装之后,代码(伪代码)或多或少会像这样:

对于E2E测试,代码覆盖率是非常不常见的,个人云服务器家用搭建,因为您的代码是部署和生产的。如果您不想部署代码的插入指令版本(您不应该部署)。。可以想象,这段代码要慢得多)。此外,e2e测试的目标应该是冒烟测试应用程序,而不是确保每个边缘案例都经过测试。

因此,作为警告:代码覆盖率是由testcafe的ui5增强实现的,但执行速度会慢得多,因此,我不建议将其激活以执行有效的测试(例如,在Jenkins管道上)。E2E的代码覆盖率的目标应该是容易地识别出测试没有覆盖的主要功能领域(通过代码)。不要试图为E2E测试代码达到固定的代码覆盖率百分比。一般来说:不太稳定和高质量的测试>>高代码覆盖率的低质量测试。

为了实现E2E测试的代码覆盖率,数据分析,testcafe的ui5增强功能是在启动测试用例之前创建一个代理服务器。代理正在使用框架"伊斯坦布尔"来检测应用程序代码并生成覆盖率输出。示例代码(一如既往)在github上可用。只要克隆回购并从那里运行它,如果您有任何问题,请按照本文中的步骤进行操作。在这篇博文中,我们使用与博文3中相同的示例测试。

要启用代码覆盖功能,我们必须增强".ui5"-testcafe.json文件"文件:

让我们检查所有设置:

在维护这些设置之后,覆盖率被记录下来,并在多个testcafe测试中进行合并-作为最后一步,仍然没有报告任何内容缺少:我们必须安装testcafe reporter ui5 coverage来支持coverage结果的输出。执行说明:

安装testcafe插件。随后加强了记者组的工作。testcaferc.json文件

如果您现在运行测试,您会注意到输出中包含关于什么被检测和什么没有检测的日志。作为一个例子,请看下面的gif:

在测试结束时,行业大数据分析,覆盖率输出被添加到控制台输出中。

在摘要旁边生成一个完整覆盖率报告。只需打开文件,您将得到您的测试的全覆盖报告。

点击文件时,您可以直接在行/分支级别检查所选文件的覆盖情况。

到目前为止,我们只讨论了E2E测试。因此,测试是针对一个实际的后端运行的真实数据,以及一个部署/生产的应用程序,例如在FIORI启动板上。对于集成测试,通常使用OPA5。我个人更喜欢testcafe的整体语法/编码风格,因此我也更喜欢将其用于集成测试。此示例的代码在GitHub中提供。博客的以下部分假设您已经在使用ui5工具。如果你不使用它-使用它。这是绝对值得的,而且比目前任何其他可用的解决方案都要好。

下一章也是基于购物车演示的。请从sapui5文档下载购物车演示应用程序。(下载按钮)。然后从tests文件夹中删除现有内容,并复制前面示例中的页面和测试文件。

要针对本地开发启用testcafe,我们必须启动ui5服务器并针对localhost服务器运行测试。这是一个小问题,大数据怎么查询,因为testcafe不应该在服务器启动并运行之前启动—这可能只需要几毫秒,但也需要几秒钟。理论上,testcafe有一个CLI参数(–app),数据分析和大数据,可以在testcafe启动之前启动任何命令。不幸的是,这不是很稳定。因此,我们将同时使用两个npm包并等待。同时允许并行执行多个命令(Server Start&&testcafe)。等待允许暂停命令(testcafe),直到满足特定条件(主机和端口可用)。为了使我们的生活更轻松,并且不总是输入很长的CLI指令,我们将在中的scripts部分中维护启动脚本包.json.

同样是一个复杂的指令–让我们深入了解:

并发:允许一次启动多个进程–kill others:指示在第一个进程停止时同时终止第二个进程。当testcafe完成时,这是关闭ui5服务器所必需的。–success first:使用第一个完成的进程的退出代码同时指示停止该进程。如果testcafe以成功告终,那么整个过程将以成功告终ui5服务–h2:第一道工序。启动ui5服务器等待https//本地主机:8443:等待localhost端口8443可用&&:顺序运算符。下一条指令(Testcafe)将在前一条指令完成后立即执行。testcafe./webapp/test/testcafe/**用webapp/test/testcafe中的所有测试文件启动testcafe.

此外,我们还必须调整我们的测试装置,以访问ui5服务器提供的本地主机端口。