问题
VS2010和TFS2010支持创建所谓的编码UI测试.我找到的所有演示,都是在编码UI测试开始时已经在后台运行的WPF应用程序开始,或者使用绝对路径启动EXE.
但是,我想从单元测试代码开始我的WPF应用程序测试.这样它也可以在构建服务器和我的同行的工作副本上工作.
我该如何做到这一点?
到目前为止我的发现
a)这篇文章展示了如何启动XAML窗口.但这不是我想要的.我想启动App.xaml,因为它包含XAML资源,代码隐藏文件中有应用程序逻辑.
b)这篇文章的第二个屏幕截图显示了一行开头
ApplicationUnterTest calculatorWindow = ApplicationUnderTest.Launch(...);
Run Code Online (Sandbox Code Playgroud)
这在概念上几乎就是我要找的东西,除了这个例子再次使用绝对路径作为可执行文件.
c)谷歌搜索"以编程方式启动WPF"也没有帮助.
我在测试或测试自动化方面非常陌生.现在我最近被分配到一个自动化UIF测试WPF应用程序的项目.在对MSDN和其他人进行一些搜索之后,我对是否应该使用Microsoft UI自动化库或VS 2010的新编码UI测试功能感到有点困惑.我没有清楚地了解这些适用于哪一个在哪些情况下,一个人有什么优势,另一个适合我(再一次,我有一个像WPF应用程序的CAD,错过了很多AutomationIds,我必须自动化其ui测试).请帮忙 !!!
我的Coded UI测试被配置为使测试的输出自动生成HTML日志文件,这里可以看到执行此操作的说明.
有没有办法自定义这个HTML日志或制作我自己的HTML记录器,以便使用我的日志来生成日志?例如,默认HTML日志仅在失败时显示Assert事件.即使它们没有失败,我也希望显示Assert事件.
我想使用默认的HTML记录器作为基础,因为它几乎完全符合我的需要,我不是在寻找一个解决方案,比如在测试期间创建我自己的输出消息,然后自己创建一个包含这些消息的HTML文件.
更新:看起来.html文件最终是由C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\QTAgent32_40.exe如果有帮助的话写的......
有没有办法自动化SFSafariViewController?我喜欢Xcode 7 UI测试功能,但它似乎不支持SFSafariViewController自动化.我正在测试的一些UI流程需要一个Web浏览器,因此应用程序使用SFSafariViewController使其比Web视图更安全.
我正在自动化WPF应用程序,当我记录"WpfComboBox"控件并对该控件执行选择索引时,它会抛出错误,如"无法对阻塞控件异常执行操作".请帮我解决这个问题.
WpfControl customContr = new WpfControl(subDvnMap.SubDvsnItemCustom.SubDvsnItemTabList.SubDvsnPIPrismPrismExtensioTabPage);
customContr.SearchProperties.Add(WpfControl.PropertyNames.AutomationId, "legalFormatsControl");
WpfComboBox combLegal = new WpfComboBox(customContr);
combLegal.SearchProperties.Add(WpfComboBox.PropertyNames.AutomationId, "legalFormats");
combLegal.Find();
combLegal.SelectedIndex = 2;
Run Code Online (Sandbox Code Playgroud)
以上是我的代码,它在combLegal.selectedIndex = 2中抛出错误
题
任何人都可以解释(最好用代码示例)如何使用XAML以编程方式和声明方式使用AutomationProperties.Name属性?
说明
据我所知,Visual Studio 2010中的Coded UI Builder将Window的名称作为SearchProperty.
由于我的Window名称发生了变化,我希望我的Coded UI测试可以依赖一个常量的SearchProperty.
在下面的代码示例中,我不希望窗口标题被硬编码为"管道1的属性",因为它会发生变化.
代码示例
[GeneratedCode("Coded UITest Builder", "10.0.30319.1")]
public class UIListViewPropertiesTable1 : WpfTable
{
public UIListViewPropertiesTable1(UITestControl searchLimitContainer) :
base(searchLimitContainer)
{
#region Search Criteria
this.SearchProperties[WpfTable.PropertyNames.AutomationId] = "listViewProperties";
this.WindowTitles.Add("Properties of Pipe 1");
#endregion
}
#region Properties
public WpfText NameOfComponent
{
get
{
if ((this.mNameOfComponent == null))
{
this.mNameOfComponent = new WpfText(this);
#region Search Criteria
this.mNameOfComponent.SearchProperties[WpfText.PropertyNames.Name] = "Pipe 1";
this.mNameOfComponent.WindowTitles.Add("Properties of Pipe 1");
#endregion
}
return this.mNameOfComponent;
}
}
#endregion
#region Fields
private WpfText mNameOfComponent; …Run Code Online (Sandbox Code Playgroud) 我必须在VM上远程运行Coded UI测试.我正在使用Mstest.exe来执行测试用例.现在,当我通过Windows调度程序运行它时,它失败了,因为它需要"Active Desktop".
我读了一些我们需要使用测试代理的地方.但我不想配置测试代理和测试控制器只是为了设置"活动桌面",他们能做的其他事情是什么?
嗨,我正在使用编码的UI测试(CUIT)来测试应用程序.我尝试过录音选项,这对我来说不够灵活.如果您在不同尺寸的屏幕上使用它,它会中断.
我知道你可以手动编写测试代码,但我找不到任何关于如何编写基本测试的好例子.这里有一些使用CUITe的例子,但是这些帖子来自2011年,我不确定它们与微软对CUIT的新升级有多相关.
这些测试需要与Visual Studio 2012 Ultimate中的构建环境集成,这就是我不使用Selenium的原因.
我们将非常感谢代码示例或指向优秀教程的链接,但特别是我正在寻找一个关于如何开始手工编码我的CUIT的示例
使用System.Windows.Automation(通常称为UIA)API和Microsoft.VisualStudio.TestTools.UITesting(在场景后面的Coded UI Test中使用的API)以编程方式实现WPF应用程序的UI测试自动化有什么区别?
是否有任何特定的场景,限制或优点/缺点?
这是一种"高级"/简单的问题.我正在尝试获取VS2012中我的测试资源管理器中填充的所有测试的列表.我想将它与测试列表进行比较,我想知道是否有任何方法可以从测试资源管理器中获取所有名称,例如复制/粘贴,导出到csv或任何此类性质.
coded-ui-tests ×10
c# ×4
wpf ×3
.net ×1
html ×1
ios ×1
testing ×1
ui-testing ×1
unit-testing ×1
xctest ×1