gpt4 book ai didi

wpf - 如何在 WPF 中对 DataGrid 进行 LeanFt 测试?

转载 作者:行者123 更新时间:2023-11-28 21:04:39 25 4
gpt4 key购买 nike

我已经创建了 leanft 项目并使用 DataGrid 创建了一个示例,但它抛出 table was not found 异常,而且我不确定 DataGrid 的测试方式瘦。有人能帮忙解决这个问题吗?

数据网格示例:

<Window x:Class="WpfApplication12.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="datagrid_window"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid x:Name="msdatagrid" AutoGenerateColumns="True">
</DataGrid>
</Grid>
</Window>

我已经从后面的代码中为这个数据网格设置了项目源。

精益测试方法:

public void TestMethod1()
{
SDK.Init(new SdkConfiguration());
Reporter.Init(new ReportConfiguration());
Process.Start(@"..\..\..\Debug\WpfApplication12.exe");
IWindow win = Desktop.Describe<IWindow>(new WindowDescription
{
IsChildWindow = false,
IsOwnedWindow = false,
AccessibleName = @"datagrid_window",
});

ITable table = win.Describe<ITable>(new TableDescription
{
Name = @"msdatagrid"
});

table.SelectCell(1, 1);
}

最佳答案

未找到测试对象异常意味着您没有为测试对象或其父对象创建正确的描述。尝试使用对象识别中心来监视数据网格,复制描述(使用底部的第二个左按钮)并将其粘贴到您的测试中。

有关 OIC 的更多信息在这里: http://leanft-help.saas.hp.com/en/latest/HelpCenter/Content/HowTo/TestObjects_OIC.htm

在你的情况下它看起来像这样:

var table = Desktop.Describe<IWindow>(new WindowDescription
{
ObjectName = @"datagrid_window",
FullType = @"window",
WindowTitleRegExp = @"MainWindow"
}).Describe<ITable>(new TableDescription
{
ObjectName = @"msdatagrid"
});

例如,这是访问数据网格单元格的方式:

var firstCell = table.Rows[0].Cells[1];
Assert.AreEqual("World", firstCell.Value);
firstCell.SetValue("World1");

确保您根据所使用的技术添加了正确的 using 语句。每个技术测试对象都定义在一个专用的命名空间中。对于 WPF,它应该是:

using HP.LFT.SDK.WPF;

您使用了 HP.LFT.SDK.StdWin 命名空间中的 WindowDescription(根据其属性)。HP.LFT.SDK.StdWin 是 native Windows 控件测试对象的命名空间,您不能在来自 StdWin 命名空间的 Window 上描述 WPF 测试对象。<​​/p>

请注意,对于桌面应用程序,最好只运行一个应用程序实例。

我还可以看到您正在初始化 SDK 和 Reporter。建议使用已包含您开始编写测试所需的所有内容(引用、初始化)的 visual studio LeanFT 项目模板。可以在 visual studio 的“新建项目”对话框的 C#\Test 部分下找到模板。

希望对您有所帮助!

关于wpf - 如何在 WPF 中对 DataGrid 进行 LeanFt 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33863804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com