如何将特征文件关键字连接到空手道中的 java 代码?

How to Feature file keywords are wired to java Code in Karate?

我最近开始为我的 API 测试用例使用空手道框架。太好了。但我想知道如何解析功能文件?如何在空手道中完成接线?

* def handler = function(msg){ return msg.startsWith('hello') }
* def socket = karate.webSocket(demoBaseUrl + '/websocket', handler)
* socket.send('Billie')
* def result = socket.listen(5000)
* match result == 'hello Billie !'

在上面的代码中..“Karate.websocket”正在调用框架中的哪个方法?

空手道使用基于 JVM 的 Java 脚本引擎,这使得调用 class 路径上的任何 Java 代码变得非常容易。

为了回答您的问题,webSocket() 方法在 ScenarioBridge class 中。此 class 在 运行 时被注入到名为 karate 的特征文件中。