如果你不能得到Actions
工作,你可以摆脱困境,并调用JavaScript(或jQuery的,因为在我的例子这里),调用Ctrl-Click。
示例HTML片段(你试图自动化的测试)...
<script type='text/javascript'>
function myClick(e) {if(e.ctrlKey) {alert('ctrl+click');}}
</script>
...
<img id='myElement' onclick='myClick();' src='abc.gif' />
实例C#电话:
public void ExecuteJs(string javascript)
{
var js = Browser.WebDriver as IJavaScriptExecutor;
if (js != null) js.ExecuteScript(javascript);
}
public void CtrlClickElement(string elementId)
{
var script = string.Format("var e=jQuery.Event('click');e.ctrlKey=true;$('#{0}').trigger(e);", elementId);
ExecuteJs(script);
}
...
CtrlClickElement("myElement");
参考:
当我使用
的KeyDown它是不是工作压力太大 – user2080814 2013-03-07 14:23:30
你能做到按Ctrl + Enter键? (输入以模拟点击) – StaleElementException 2013-03-07 15:20:11
我认为Ctrl + Space是用于多选 – kernowcode 2014-10-07 07:55:43