Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我想使用编码的用户界面单击窗口中不可见的Wincontrol_C#_Automation_Coded Ui Tests - Fatal编程技术网

C# 我想使用编码的用户界面单击窗口中不可见的Wincontrol

C# 我想使用编码的用户界面单击窗口中不可见的Wincontrol,c#,automation,coded-ui-tests,C#,Automation,Coded Ui Tests,我有一个Wincontrol在窗口中不可见,我必须拖动滚动条使其可见。如何使用编码用户界面访问wincontrol如果设置焦点不起作用,则可以移动滚动条,直到控件可见,如Ralt所建议的那样。我使用以下示例解决了一个simlar问题。代码将单击略高于其最底部点的滚动条。根据需要多次单击 public void ScrollSlide(UITestControl scrollBar) { Point bottomOfScrollBar = new Point(scr

我有一个Wincontrol在窗口中不可见,我必须拖动滚动条使其可见。如何使用编码用户界面访问wincontrol

如果设置焦点不起作用,则可以移动滚动条,直到控件可见,如Ralt所建议的那样。我使用以下示例解决了一个simlar问题。代码将单击略高于其最底部点的滚动条。根据需要多次单击

    public void ScrollSlide(UITestControl scrollBar)
    {
        Point bottomOfScrollBar = new Point(scrollBar.Left + (scrollBar.Width / 2), scrollBar.Top + (scrollBar.Height - (scrollBar.Height / 20)

        Mouse.Move(null, new Point(scrollBar.Left + (scrollBar.Width / 2), scrollBar.Top + (scrollBar.Height - (scrollBar.Height / 15))));
        Mouse.Move(null, bottomOfScrollBar )));
        Mouse.DoubleClick(null, bottomOfScrollBar ))));
        Mouse.DoubleClick(null, bottomOfScrollBar )));
        Mouse.DoubleClick(null, bottomOfScrollBar )));
    }

在单击命令之前插入下面的javascript,将滚动高度设置为从页面最底部开始所需的高度,在我的例子中,我使用的是5。这确实不是编码的最佳或最实用的方法,但它比其他编码解决方案更方便、更有效

((IJavaScriptExecutor)_driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight - 5)");
这应该是可行的,并且不需要您添加任何更多的引用或创建任何新变量-但是请确保您将_driver变量更改为您的变量


很可能是浏览器,如果不知道或不知道使用哪个变量,最好使用windows系统命令。希望这有帮助。

您是否可以使用编码的UI在滚动条上拖动控件,使其可见,然后测试现在可见的控件?您是否尝试过确保可单击。您是否尝试过设置焦点?我将尝试此选项。设置焦点不起作用。。thanx all