空手道 - 如何在 canvas 上模拟手写签名

Karate - how to simulate hand-writing signature on canvas

使用空手道测试用例场景(功能)我需要与之交互以模拟要写入其中的签名。

<canvas width="1292" height="596" style="width: 100%; height: 100%; touch-action: none;"></canvas>

我尝试用JS画了一些元素,但是没有识别为签名。我用过这个:

* script('document.getElementsByTagName("canvas")[0].getContext("2d").fillStyle = "green"')
* script('document.getElementsByTagName("canvas")[0].getContext("2d").fillRect(10, 10, 150, 100)')

它起作用了,但油漆未被识别为签名。我有不同的想法 - 在 javascript:

中使用 path/move to/fill
* script('document.getElementsByTagName("canvas")[0].getContext("2d").fillStyle = "green"')
* script('document.getElementsByTagName("canvas")[0].getContext("2d").beginPath()')
* script('document.getElementsByTagName("canvas")[0].getContext("2d").moveTo(200, 200)')
* script('document.getElementsByTagName("canvas")[0].getContext("2d").fill()')

使用这个,测试已经通过(这些行通过了)但实际上该行还没有写入 canvas...

你知道如何模拟这个吗?或者有另一种方法如何以不同的方式做到这一点?我的目的是在.

中模拟手写签名

谢谢!

我真诚的意见是放弃这个测试并专注于您可以测试的应用程序的其他部分。这可能不值得。还可以考虑要求开发团队在测试模式下禁用 UI 流程的这一部分,这是一个完全合法的测试策略,例如,许多团队为 CAPTCHA-s 这样做。

如果你使用mouse() API 有一定的支持点击拖拽功能的可能是可以的:https://github.com/intuit/karate/tree/master/karate-core#mouse

但您不会在互联网上获得很多帮助。