使用Selenium WebdriverJS测试花岗岩墨水WebComponents元素

时间:2018-01-29 18:15:07

标签: html selenium automated-tests web-component

我使用花岗岩墨水WebComponents元素有以下html代码:

<granite-ink id="graniteSignature" class="style-scope signature-control">

    <div id="inputArea" class="style-scope granite-ink" style="touch-action: 
none;"><canvas width="887" height="112"></canvas></div>
  </granite-ink>

我尝试使用Selenium测试它的代码是:

var canvas = drawing.findElement(webdriver.By.css("#inputArea"));
var actions = driver.actions();
actions.mouseMove(canvas,500,100).mouseDown().mouseMove(canvas,200,60).mouseUp().perform(); 

当我在我的cmd上运行它时,我的应用程序中的签名画布区域没有任何反应,任何人都知道如何修改它?我还发现在测试中我不能使用clickandHold()和其他一些Seleium方法。

1 个答案:

答案 0 :(得分:0)

要识别<canvas>元素而不是css作为#inputArea,您可以使用以下代码行:

var canvas = drawing.findElement(webdriver.By.css("granite-ink.style-scope.signature-control#graniteSignature > div.style-scope.granite-ink#inputArea > canvas"));