- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
WPF 应用程序正在使用应用程序框架,我无法编辑它们。
我可以按照以下方式访问 GUI 中的每个元素:
IUIItem[] items = window.GetMultiple(SearchCriteria.All);
foreach (var item in items)
{
visit((dynamic)item);
}
我对普通控件没有问题,但我用 CustomUIItem
碰壁了。
我想访问它的所有子项,但无法从它们创建新数组 IUIItem[]
.
这是我现在拥有的:
void visit(CustomUIItem item)
{
AutomationElementCollection children =
item
.AutomationElement
.FindAll(TreeScope.Children, Condition.TrueCondition);
UIItemCollection temp = new UIItemCollection(children.Cast());
foreach(var t in temp)
{
visit((dynamic)t);
}
}
有时这会抛出并且大多数时候集合仍然是空的。
CusomControl
在其子项中具有“正常”控件。我希望将它们作为常规 IUIItem
.
我在哪里可以找到这方面的文档。我唯一找到的是 cái này ,我不能这样做,因为我只是从外部访问,我不知道控件内容。
1 Câu trả lời
如果我真的理解了你的问题。
IUIItem[] items = window.GetMultiple(SearchCriteria.All);
foreach (var item in items)
{
visit(item);
}
我已经更新了您的 visit() 方法,它现在需要一个 IUItem 作为参数以允许访问普通和自定义控件。
public void visit(IUIItem item)
{
if (item is CustomUIItem)
{
// Process custom controls
CustomUIItem customControl = item as CustomUIItem;
// Retrieve all the child controls
IUIItem[] items = customControl.AsContainer().GetMultiple(SearchCriteria.All);
// visit all the children
foreach (var t in items)
{
visit(t);
}
...
}
khác
{
// Process normal controls
...
}
}
关于c# - 在 TestStack.White 中为 CustomUIItem 的子级获取 IUIItem[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881079/
我无法将控件拖动到另一个控件。我已经成功地选择了两个控件,但是当我尝试使用时: Mouse.Instance.Location = dragControl.ClickablePoint; Mouse.
我试图在启动后从主应用程序中获取 2 个编辑框。有时 window.GetMultiple() 只返回 1 个编辑框。有什么方法可以等待元素出现吗? 编辑框没有自动化 ID 或文本。 最佳答案 您可以
我想知道我可以使用 TestStack在应用程序上执行自动化过程。所以我写了一个简单的代码来统计目标应用程序的所有窗口。 首先我在示例应用程序 (WinForm (.net)) 上对其进行了测试,它运
我想打开一个 Windows 应用程序,然后按工具栏中的“保存屏幕”按钮: 使用 Visual Studio 中的 Spy++,我能够获得此工具栏的以下属性: 根据以上信息,我尝试了这个: Appli
我正在使用包装器库 TestStack.White 以更简单的方式深入了解 Windows 自动化。我试图自动化一种在游戏启动器上输入用户名的方法。我不知道文本框名称,所以我尝试使用 SearchCr
我有一个与模态窗口相关的问题。 在我正在自动化的应用程序中,如果用户有一些数据,模式窗口将打开,但如果没有,则它不会打开。我们如何放置“if 语句”,例如,如果模态窗口存在,则执行一些工作,否则跳过。
我正在使用 Visual Studio 2010,我得到了 TestStack.White通过 NuGet (我得到了版本 0.10.3.118 )。 问题是,我的测试单击了一个按钮,该按钮触发了超过
我正在寻找一种解决方案来从命令行开始我的测试。 我在 VisualStudio2017 中为我的 .NET 解决方案创建了一个 UnitTest Procjet。 将 TestStack.White
我正在尝试单击外部 Windows 应用程序上的按钮。下面的代码成功地找到了元素,使父窗口成为焦点,然后“手动”点击按钮 这没问题... Process tProcess = Process.GetP
我正在学习使用 White by TestStack 来自动化 Windows 应用程序。我正在尝试通过路径为“文件>>项目>>新建...”的应用程序菜单项来自动创建新项目到目前为止,我已经获得了执行
我有一个使用 Visual Studio 2012 Professional 在 C++ MFC 中编写的应用程序。目前我想使用用 C# 编写的 TestStack.White 框架创建一些自动化脚本
我有 3-4 个 Windows 应用程序在名称 “WorkflowActionProcessor” 下运行,我想循环并模拟每个应用程序的按钮点击。 为了模拟点击,我使用 teststack.whit
如何在 Teststack White 中实现动态超时?前任。我试图在网络浏览器上的回发事件后定位一个元素。因此在元素加载或页面可能超时之前会有延迟。对于这两种情况,使用 Thread.Sleep 的
我制作了一个 WPF 应用程序,并使用 teststack.white 进行了一些自动化测试。他们有关于如何将 Windows 中的控件映射到其框架的文档,但我在任何地方都没有看到 TextBlock
我正在使用 Teststack.White 来启动 GUI 并与之交互。模型隐藏在外观后面,允许将测试模拟注入(inject)到 GUI 中。 GUI 成功加载测试模拟和 Teststack。Whit
我正在尝试使用 TestStack.White 在我的 WPF 应用程序中将密码写入 PasswordBox 我可以使用 找到 PasswordBox private TextBox Password
所以我正在尝试测试 UI WPF 应用程序。我正在使用 TestStack.White 框架进行测试。 UI 具有自定义控件 DragDropItemsControl。该控件继承自 ItemsCont
我正在尝试通过 Visual Studio 中的包管理器控制台使用 NuGet 安装 TestStack.White,但是当我在包管理器控制台中输入“Install-Package TestStack
我有一个使用 DataGrid 来显示联系人列表的应用程序。 8 列,其中 4 列代表客户信息(字符串),另外 4 列是复选框(出于测试目的,我将全部设置为 true)。 使用 TestStack.W
在测试虚拟化面板时,我需要设置 VirtualizingPanel.IsVirtualizing 属性,以便 Teststack.White 可以像与非虚拟化面板一样与它们交互。 这对我很有帮助,尤其
Tôi là một lập trình viên xuất sắc, rất giỏi!