我正在运行\PHPUnit_Extensions_Selenium2TestCase运行移动鼠标并单击($this->moveto)的测试。为了改善调试和查看体验,我想查看鼠标光标当前所在的位置。使用上述方法不会移动系统鼠标光标。
\PHPUnit_Extensions_Selenium2TestCase
$this->moveto
在每个页面加载后执行javascript,以启用鼠标光标显示。
/** * Enable mouse cursor display */ protected function enableCursor() { $this->execute(array('script' => <<<EOF var seleniumFollowerImg=document.createElement("img"); seleniumFollowerImg.setAttribute('src', 'data:image/png;base64,' + 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAQAAACGG/bgAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA' + 'HsYAAB7GAZEt8iwAAAAHdElNRQfgAwgMIwdxU/i7AAABZklEQVQ4y43TsU4UURSH8W+XmYwkS2I0' + '9CRKpKGhsvIJjG9giQmliHFZlkUIGnEF7KTiCagpsYHWhoTQaiUUxLixYZb5KAAZZhbunu7O/PKf' + 'e+fcA+/pqwb4DuximEqXhT4iI8dMpBWEsWsuGYdpZFttiLSSgTvhZ1W/SvfO1CvYdV1kPghV68a3' + '0zzUWZH5pBqEui7dnqlFmLoq0gxC1XfGZdoLal2kea8ahLoqKXNAJQBT2yJzwUTVt0bS6ANqy1ga' + 'VCEq/oVTtjji4hQVhhnlYBH4WIJV9vlkXLm+10R8oJb79Jl1j9UdazJRGpkrmNkSF9SOz2T71s7M' + 'SIfD2lmmfjGSRz3hK8l4w1P+bah/HJLN0sys2JSMZQB+jKo6KSc8vLlLn5ikzF4268Wg2+pPOWW6' + 'ONcpr3PrXy9VfS473M/D7H+TLmrqsXtOGctvxvMv2oVNP+Av0uHbzbxyJaywyUjx8TlnPY2YxqkD' + 'dAAAAABJRU5ErkJggg=='); seleniumFollowerImg.setAttribute('id', 'selenium_mouse_follower'); seleniumFollowerImg.setAttribute('style', 'position: absolute; z-index: 99999999999; pointer-events: none;'); document.body.appendChild(seleniumFollowerImg); jQuery(document).mousemove(function(e){ jQuery("#selenium_mouse_follower").stop().animate({left:e.pageX, top:e.pageY}); }); EOF , 'args' => array())); }
这取决于目标页面中加载的JQuery beeing-也可以使用没有精美动画的另一种解决方案。