我与其中嵌入了WebGL的播放器应用程序工作。
<body>
<div class="application_layout">
<header class="header clearfix">
<nav class="header__left">
<ul class="clearfix">
<li class="menu__item menu__item--back">
<a title="Back" class="link--back"></a>
</li>
</ul>
</nav>
</header>
<div id="unity-webgl">
<canvas style="cursor: default;" id="#canvas" width="1596" height="386"></canvas>
</div>
</div>
</body>
在我与RSpec
和capybara
验收测试我试图模仿网页上的点击动作。
在做
execute_script("$(document.elementFromPoint(100, 20).click();")
# the position of the "Back" link
一切显然是工作的罚款和脚本正确点击“后退”链接。
但是,试图与一些WebGL的DIV的任何区域点击时一样
var event = $.Event('click');
event.clientX = 200;
event.clientY = 100;
$('#canvas).trigger(event);
什么也没有发生。
有什么办法来模拟对WebGL的DIV鼠标点击?
你不应该试图模拟点击 - 你应该告诉水豚做点击。如果您需要点击所抵消使用可用于点击方法的选项。
element.click(x: 200, y: 100)
你诉诸使用JS解雇你让你的测试不太有用/有效的页面上的事件,因为它允许做的事情,用户永远可以在任何时间。
另一种选择是使用rumouse
宝石。但它不与无头的工作,它需要窗口焦点和坐标系统范围。