如何创建自动化测试SAP NodeJS

2020-08-14 00:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我搜索了所有的网络和github,没有示例如何对CF MTAS应用程序或CDS应用程序进行自动测试。
没有文档。 没有示例代码。 有任何想法吗。 我已经搜索了3个月了。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我搜索了所有的网络和github,没有示例如何对CF MTAS应用程序或CDS应用程序进行自动测试。
没有文档。 没有示例代码。 有任何想法吗。 我已经搜索了3个月了。

付费偷看设置
发送
3条回答
何必丶何苦呢
1楼-- · 2020-08-14 00:36

亲爱的Salbador,

我建议您首先清楚地了解要执行的测试:

  • 单元测试
  • 系统测试
  • 集成测试
  • UI测试

当您遵循Marius的建议时 并使用CAP进行开发,您可以通过模拟身份验证

对于SAP CP Cloud Foundry上已部署的MTA的全面集成测试,您应遵循 SAP Cloud Platform后端服务:教程[13]:API:调用:来自:外部:工具

关于UI测试,我建议在本地进行测试,否则您总是会遇到身份验证问题。

Theia编辑David和Thomas使用的是SAP Business Application Studio。 。 并且可以在试用帐户中使用。 建议您再次阅读教程设置SAP Business Application Studio进行开发。 但是我建议您使用VS Code进行本地开发,因为它速度更快并且您拥有更多的控制权。

最诚挚的问候
Gregor

追夢秋陽
2楼-- · 2020-08-14 00:49

嗨,马里乌斯,

感谢您的及时答复。 我在这里阅读并观看了所有内容。 除您上一个谈论MTA的主题外,大多数都是CDS。 我应该更具体地提及。 我正在寻找一种将CF应用放置在我们面前并在摩卡或开玩笑之前进行身份验证的方法。 看来,我知道cf应用程序的新升级格式是APP,SRV,DB,文件夹。 使用@ sap/approuter.js的APP文件夹可以很好地连接到HANADB和SRV server.js路由。
所以,我想测试将数据发送到服务器和HANADB服务器,然后再发送回去。 因为,在CF SRV文件夹中,我无法进行身份验证。
我可以放置未经身份验证的虚拟功能,但这将无法访问云中的HANADB服务。

例如,在SRV文件夹中,如果我的应用程序需要访问在DB文件夹中声明的数据库(你们错误地称其为"模块",---也应该对此进行实际更改)
以便SRV从数据库文件夹访问创建的数据库。 然后这些行是必需的:

```
passport.use(newJWTStrategy(xsenv.getServices({xsuaa:{tag:'xsuaa'}})。xsuaa)));
app.use(passport.initialize());
app.use(passport.authenticate('JWT',{session:false})));
```
使用这些行。 现在,对任何路线的笑话测试都将被禁止返回。 因为它将与承载者一起丢失jwt令牌。

但是,自从newJWTStrategy以来,它是一个私有的SAP存储库。 并且由于approuter.js在其中使用了经过修改的passportjs版本。 我很难在每次测试前弄清楚如何获得令牌并通过令牌。

我发现的最相似的方法是xsjs应用程序
我发现的是
SAP-HANA-Update- Q1-2019-tests.js

\ ---- srv/utils/tests.js:6
具有一个名为" getAuthToken:()=> {"
在内部仅被调用两次。
SAP-HANA-Update-Q1-2019-secure-spec.js < br> \ ---- srv/tests/rest/secure-spec.js:14 .set(" Authorization"," bearer" + awaitthis.test.getAuthToken())
\ ---- srv/tests /rest/secure-spec.js:26 .set(" Authorization"," bearer" + awaitthis.test.getAuthToken())

分别。

目前没有任何文档。 找到的示例应用程序无法运行以对其进行测试。 人们必须想象发生了什么。

失去想象力。

尝试移植类似于纯CF应用程序的内容。

类似地,您列表中提供的指定CDS样本。 没有提及安全性。 它以某种方式被假定。
最糟糕的是,如果在这种假设下,所有新的东西都受阻。 像我这样的。
我无法部署大型应用程序。 一位专家提出了有关如何设置HANA this和HANA that的专家意见。
大多数来自David和Thomas的视频。 真的很慢,花了很长时间。 他们中的大多数人都在使用没有Theia编辑器的旧平台,该平台在新手试用中不再可用。

我了解。 XSJS是执行NodeJs编程的旧方法。
那么CF和CDS是新方法吗?

也许我非常接近我的答案。 但是我可能需要努力解决这个问题。



Tong__Ming
3楼-- · 2020-08-14 00:43

您好,萨尔巴多,

对不起,您不得不花很长时间才能找到资源。 我同意那里没有很多内容。 好消息是,目前没有秘密的MTA/CAP专用测试策略。 由于两种技术都建立在开放标准之上,因此您可以使用自己喜欢的测试框架将其自动化。 您只需要通过API调用启动CAP服务器,然后就可以开始测试端点等了。以下是其中的一些资源:

  • 我在其中添加了一个小的测试部分 我不久前写的CAP Cities应用程序。 您可以在 GitHub 上找到该项目。
  • 有关CAP的OpenSAP课程在第2单元7 中涵盖了该主题 想要看到一种稍微不同的方法。
  • 同一OpenSAP课程还具有一个涵盖CI/CD的单元(第4周第4单元)
  • ,这里是涵盖该主题的社区博客帖子
  • MTA monorepos非常灵活,如果需要,您可以包括自定义构建命令来触发测试服。 我过去做过类似的事情,触发了 TypeScript编译器(而不是测试运行)

一周热门 更多>