如何使用TestStack获取WPF TextBlock

4

我制作了一个WPF应用程序,并使用teststack.white进行了一些自动化测试。他们有关于如何将Windows控件映射到他们的框架的文档,但我没有在那里找到TextBlock。

他们的文档在这里在这里

谢谢


你解决了吗? - Francesco B.
1个回答

4

是的,你没有看错,在那里没有提到TextBlock

问题是,在WPF中,TextBlock只是一个更长的Label,你可以在这里阅读到:

一般认为Label适用于短的单行文本(但可能包括图像),而TextBlock非常适合多行字符串,但只能包含文本(字符串)。

所以你可以像使用Label一样获取它:

Application application = Application.Launch(applicationPath);
Window window = application.GetWindows().First();

var MyTextBlock = window.Get<Label>("MyTextBlock");

这是我用来测试的XAML标记:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="103.966" Width="191.724">
    <Grid>
        <TextBlock x:Name="MyTextBlock" Text="Hello!" Background="CornflowerBlue" Foreground="White" VerticalAlignment="Top"/>

    </Grid>
</Window>

1
你能看一下我的问题吗?https://stackoverflow.com/questions/53500604/teststack-how-to-find-custom-controls-and-invoke-methods-fire-events 谢谢 - Dominic Jonas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接