Скачать пример:
WpfAppAnimal.zip (40 kb) ...
Мое WPF приложение работает так:
• вводим название животного
• нажимаем на кнопку
• увидим количество лет сколько животное живет
Xaml
<Window x:Class="WpfAppAnimal.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:WpfAppAnimal"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<TextBlock
HorizontalAlignment="Left"
Margin="147,78,0,0"
TextWrapping="Wrap"
Text="Enter animal name:"
VerticalAlignment="Top"/>
<TextBox
HorizontalAlignment="Left"
Height="23"
Margin="256,77,0,0"
TextWrapping="Wrap"
AutomationProperties.AutomationId="AnimalNameTextId"
Text="{Binding MyModel.AnimalName}"
VerticalAlignment="Top"
Width="120"/>
<Button
Content="Calculate lifetime"
HorizontalAlignment="Left"
Margin="147,129,0,0"
AutomationProperties.AutomationId="CalculateButtonId"
Command="{Binding MyModel.ClickMyButton1, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
VerticalAlignment="Top" Width="142"/>
<TextBlock
HorizontalAlignment="Left"
Margin="147,185,0,0"
TextWrapping="Wrap"
AutomationProperties.AutomationId="LifeTimeTextId"
Text="{Binding MyModel.LifeTime, UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Top"
Height="21"
Width="109"/>
</Grid>
</Window>
C#
Файл UnitTest1.cs
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;
namespace AutoTestForWpfApp
{
public class Tests
{
public const string DriverUrl = "http://127.0.0.1:4723/";
[SetUp]
public void Setup()
{
}
[Test]
public void Test_CheckDog_LifeTime()
{
// run WPF exe
string appWPF = @"D:\WpfAppAnimal\bin\Debug\WpfAppAnimal.exe";
var options = new AppiumOptions();
options.AddAdditionalCapability("app", appWPF);
var session = new WindowsDriver<WindowsElement>(new Uri(DriverUrl), options);
// wait running WPF (3 seconds)
Thread.Sleep(3000);
WindowsElement element = null;
// autotest write in wpf application text "dog"
element = session.FindElementByAccessibilityId("AnimalNameTextId");
element.SendKeys("dog");
// autotest click button in wpf application
element = session.FindElementByAccessibilityId("CalculateButtonId");
element.Click();
// autotest get text from wpf application
element = session.FindElementByAccessibilityId("LifeTimeTextId");
// result
Assert.AreEqual("16 years", element.Text);
// close wpf application
session.Quit();
}
}
}
На заметку! Перед запуском теста надо убедится что
приложение WinAppDriver запущено ...