Nightwatch.js에서지도 (위치)의 핀을 클릭해야하는 테스트 사례입니다. 테스트 케이스를 제어 할 수 있고 한 위치 만 가질 수 있기 때문에 뷰가 핀 중심에 있다고 가정 할 수 있습니다. 따라서 :
browser.execute(function() {
function clickPin(){
var elem = document.getElementsByClassName('map-canvas')[0];
var rect = elem.getBoundingClientRect();
var centerY = (rect.bottom - rect.top);
var centerX = (rect.right - rect.left);
var divX = document.createElement("div");
divX.style.visibility = 'hidden';
divX.id = 'offsetX';
divX.innerHTML = centerX.toString();
var divY = document.createElement("div");
divY.style.visibility = 'hidden';
divY.innerHTML = centerY.toString();
divY.id = 'offsetY';
document.head.appendChild(divX);
document.head.appendChild(divY);
}
clickPin();
}, [], function(result){});
browser.pause(3000);
browser.waitForElementPresent(`//*[@id="offsetX"]`, 3000);
var relX = browser.getValue(`//*[@id="offsetX"]`);
var relY = browser.getValue(`//*[@id="offsetY"]`);
//set cursor position to center and click (fragile)
browser.moveToElement(`//*[@class="map-canvas"]`, relX, relY).mouseButtonClick();