Automated tests 空手道-如何在画布上模拟手写签名

Automated tests 空手道-如何在画布上模拟手写签名,automated-tests,karate,Automated Tests,Karate,使用我需要与之交互的空手道测试用例场景(特性)来模拟要写入其中的签名 <canvas width="1292" height="596" style="width: 100%; height: 100%; touch-action: none;"></canvas> 它起作用了,但油漆没有被识别为签名。我有不同的想法-在javascript中使用path/move to/fill: * script('docu

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

<canvas width="1292" height="596" style="width: 100%; height: 100%; touch-action: none;"></canvas>
它起作用了,但油漆没有被识别为签名。我有不同的想法-在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()')
使用它,测试通过了(这些行通过了),但实际上该行还没有写入画布

你知道如何模拟这个吗?或者有没有其他不同的方法?我的目标是模拟手写签名


谢谢大家!

我真诚的意见是放弃这个测试,专注于应用程序中可以测试的其他部分。这可能不值得。还可以考虑让开发团队在测试模式下禁用UI流的这一部分,这是一个完全合法的测试策略,很多团队都是这样做的。 如果您使用在某种程度上支持单击和拖动的
mouse()
API,则可能出现这种情况:


但在互联网上你不会得到太多帮助。

谢谢你的回答!我使用了“*mouse(250250).down().up()”,效果很好(它在画布上创建了点,很好地模拟了手写,这就足够了)。我也尝试过使用:*鼠标(250250).go().down().move(300300).up()来做一些线条,但是没有创建线条(同样只有点)。我用错语法了吗?但主要问题已经解决。
* 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()')