WatiN FireEvent not passing event properties in FireFox

后端 未结 1 2010
忘掉有多难
忘掉有多难 2020-12-20 05:16

This had been logged as a bug in sourceforge though now deleted.

I\'m using FireFox 3.6 with associated jssh.

I can see in Firebug that the Event Properties

相关标签:
1条回答
  • 2020-12-20 05:36

    This is indeed a shortcoming in the FireFox implementation. All the given parameters/values are ignored for mouse events. This should be fixed and is not that hard. I will reopen the issue on SourceForge.

    To make this work you could run this code, which is what WatiN is actually doing for you:

    var jscriptref = firstStoryRow.GetJavascriptElementReference();
    
    var fireeventcode = string.Format("var event = {0}.ownerDocument.createEvent('MouseEvents');",jscriptref);
    
    // Params for the initMouseEvent:
    // 'type', bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget )
    fireeventcode += "event.initMouseEvent('mousedown', true, true, null, 0, 0, 0, 0, 0, false, false, false, false, 1, null);";
    fireeventcode += string.Format("var res = {0}.dispatchEvent(event);", jscriptref);
    fireeventcode += "if(res){true;}else{false;};";
    
    // make it a NoWait call by wrapping it in a timer call.
    fireeventcode = JSUtils.WrapCommandInTimer(fireeventcode);
    
    var result = browser.Eval(fireeventcode);
    

    If result == 'true' all went well. Hope this will help for now, but this needs to be fixed in the next release.

    Jeroen

    0 讨论(0)
提交回复
热议问题