问题标签 [white-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 竞争条件使集成测试不一致
我使用Project White为我的应用程序编写了一个简单的 UI 自动化测试。它只是启动应用程序并检查主窗口是否存在。这是在 NUnit 测试的上下文中完成的:
问题是测试结果是随机的:有时失败,有时成功,没有遵循规律。
测试环境设置为初始化失败:我希望看到测试始终失败。问题是我的应用程序的主窗体在其Load
事件的处理程序中执行其初始化和所有相关验证。我认为存在竞争条件,因为 White 在单独的进程中运行被测应用程序:
在GetWindow
检测到初始化失败之前调用时,测试成功。当故障检测赢得比赛时,它会关闭应用程序,因此这会GetWindow
导致失败。
我正在查看 White 文档并浏览示例,但我找不到这种情况的解决方法。更改应用程序的代码应该是最后的手段,因为我还没有测试工具(这就是让我陷入困境的原因:我所有的想法都围绕着更改应用程序)。
c# - 带有白色问题的 UI 自动化查找孩子
出于某种原因,我在尝试从其父级定位 Window 子级时收到来自 White.Core 的运行时错误。
错误显示:
我正在尝试导航的当前结构如下:
主窗口->面板->窗口
我在 C# 中使用以下方法
并调用方法如下:
用于识别 ControlType 和 AutomationID 的 UIspy 对象:
configuration - 如何配置 TestStack.White 超时?
我正在使用 Visual Studio 2010,并且TestStack.White
通过了NuGet
(我得到了版本0.10.3.118
)。
问题是,我的测试点击了一个按钮,该按钮触发了超过默认 5 秒超时的操作。所以我的测试总是产生:
我阅读了 White 关于等待的文档,但它说要查看配置部分以了解如何设置我自己的超时值。并且该部分不存在。
更新:我尝试创建一个名为的文件TestStack.White.dll.config
并将其放在TestStackWhite.dll
与我的测试 dll 相同的目录中。内容:
尽管如此,无论我是从 NUnit 还是 VS + Resharper 内部运行测试,我仍然会得到 5 秒的超时......
c# - 检测 ErrorProvider 的错误信息
当前场景只是原始应用程序的虚拟。我有一个带有 2 textboxes
、 1ErrorProvider
和 a的表格button Validate
。当文本框为空并单击验证时,文本框前面会出现 2 个错误提供程序,input 1 missing
并说input 2 missing
。下面是表格
现在我的自动化团队正在尝试检测 errorProvider 工具提示。他们正在使用 QTP。在对这个测试方面了解最少的情况下,我开始了我的分析。我在 QTP 中尝试的是
SwfEdit("textbox1").GetErrorProviderText()
但没有用。我总是收到空文本。
然后我决定使用White
框架来实现这些东西。我能够获取 errorProvider 控件,但不确定如何获取每个文本框的错误消息。这是我写到现在的代码
我不确定如何继续前进,以及我是否走在正确的道路上。我很高兴听到实现这一目标的新想法、建议或指导。谢谢。
c# - 从 UI 元素中获取价值
我正在使用 White 编写一些基于UIAutomation
库的东西C#
,我想知道如何获得元素的实际值?我的意思是来自的文本textbox
,label
来自的button
和来自的数值numeric up-down
?AFAIK 也没有类似'GetValue'
的方法。如何做到这一点?
c# - 无法从白色对象获取 AutomationPattern
我遇到了问题,因为我需要AutomationPatterns
在 Windows Calculator 中获取有关 Text 的一条信息,但GetAutomationPatterns()
返回一个空数组。
我正在尝试以这种方式访问它:
如何实现我的目标,因为我需要获取该文本框的值并且没有模式似乎是不可能的......
c# - 控制一个我没有启动的窗口
我正在用TestStack White编写一个简单的安装脚本,这样我就可以学习这个框架(我没有在网上找到很多信息)。
我正在为这个小实验使用英雄联盟安装
填写表格并按下下一步按钮后,安装程序会打开一个窗口。
我想知道是否有办法获取窗口,即使我不是执行它的人。
这是我用来运行应用程序的代码,直到新窗口打开:
(对不起我的英语不好)
unit-testing - 即使我能够使用名称检索按钮,也无法单击按钮
我有这个名称为 NavigateLink_1 的按钮的代码。现在,当我运行它并调试它时,我发现我能够在 dashBoardBtn 变量中获得正确的按钮实例,但 Click() 函数不起作用。即使我尝试像使用 Get(SearchCriteria.ByText("NavigateLink_1")) 那样使用按钮名称来完成所有这些操作,我也会遇到同样的问题。我用同一组按钮的其他按钮部分尝试了同样的事情,但在这种情况下它工作正常。
谁能建议我可能是什么问题。我正在使用 White Framework 和 UI Spy 作为我的应用程序的 UI 检查器
c# - 按类名检索多个 UIItem
我有一个自定义类型,在该类型下我有多个 TextBox 控件。问题是所有文本框都没有自动化 ID 或名称。所以,我想检索列表中的所有文本框,以便对它们进行操作。我知道这样做不是一个好习惯,但我没有其他选择。问题是如何检索列表中特定自定义类型下的所有这些文本框?
如果有人知道更好的方法,请提出建议。
ui-automation - 无法取消选中组合框中的复选框
我有一个包含两个列表项的组合框。每个列表项由一个复选框和一条文本消息组成。现在,我正在使用一个看起来像这样的函数来取消选中组合框中的所有复选框。
我可以使用这种方法取消选中第二个复选框,但不能取消选中第一个复选框。当第二个列表项工作正常时,无法确定问题所在。我正在使用最近发布的白色框架版本。“someVariable”不是问题。我在调试时检查了它是否检索了正确的组合框。