Javascript 最新firefox(v.34)上的量角器单击svg元素中断
我正在不同浏览器上使用最新版本的量角器进行测试。在这个测试规范中,我想右键单击svg元素,在svg中的给定点上触发特定事件。要单击此元素,我将使用此函数Javascript 最新firefox(v.34)上的量角器单击svg元素中断,javascript,firefox,svg,selenium-webdriver,protractor,Javascript,Firefox,Svg,Selenium Webdriver,Protractor,我正在不同浏览器上使用最新版本的量角器进行测试。在这个测试规范中,我想右键单击svg元素,在svg中的给定点上触发特定事件。要单击此元素,我将使用此函数 function rightClick(svgElement) { scrollToElement(svgElement).then(function () { browser.actions() .mouseMove(svgElement) .c
function rightClick(svgElement) {
scrollToElement(svgElement).then(function () {
browser.actions()
.mouseMove(svgElement)
.click(protractor.Button.RIGHT)
.perform();
});
}
我使用不同的浏览器在不同的selenium集线器上运行测试。除firefox34外,所有浏览器(chrome、firefox27、ie11+10)的测试均通过。当我观看测试时,我可以识别出鼠标悬停在svg元素上(因为该元素高亮显示),但在右键单击后,它会打开firefox上下文菜单,而不是调用eventlistener
另一个重要的一点是,测试失败
我尝试了不同的解决方法,例如使用两个不同的browser.actions()执行右键单击(第一个在元素上移动,第二个执行右键单击)
我还试着点击元素坐标。。。但什么都没用
为了防止由分辨率引起的错误,我将窗口最大化,并滚动到偏移量为75px的元素,以防止浏览器弹出窗口破坏测试。您可能需要在evt是事件对象的处理程序中调用evt.preventDefault()。evt.preventDefault()已被使用