0

でleanftプロジェクトを作ってサンプルを作ったのですDataGridが、table was not found例外がスローさDataGridれ、leanftでのテスト方法もわかりません。これを修正するために誰か助けてもらえますか?

データグリッドのサンプル:

<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>

コード ビハインドから、このデータグリッドの itemsource を設定しました。

Leanft テスト方法:

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);
}
4

1 に答える 1

3

テスト オブジェクトが見つからないという例外は、テスト オブジェクトまたはその親の正しい説明を作成しなかったことを意味します。オブジェクト識別センターを使用してデータグリッドをスパイし、説明をコピーして (下部の左から 2 番目のボタンを使用)、テストに貼り付けます。

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 は、ネイティブ Windows コントロール テスト オブジェクトの名前空間であり、StdWin 名前空間の Window で WPF テスト オブジェクトを記述することはできません。

デスクトップ アプリケーションの場合は、アプリケーションのインスタンスを 1 つだけ実行する方がよいことに注意してください。

また、SDK と Reporter を初期化していることもわかります。テストのコーディングを開始するには、必要なもの (参照、初期化) がすべて含まれているビジュアル スタジオの LeanFT プロジェクト テンプレートを使用することをお勧めします。テンプレートは、Visual Studio の [新しいプロジェクト] ダイアログの C#\Test セクションにあります。

それが役に立てば幸い!

于 2015-12-24T14:03:40.967 に答える