Skip to content

Commit 1b02e19

Browse files
committed
BookLib: add support for legacy print dialog
1 parent 5f17a59 commit 1b02e19

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/Samples.UITest/BookLibrary.Test/Tests/ReportingTest.cs

+13-4
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,19 @@ void PrintAsPdf(string fileName)
4040
if (File.Exists(fileName)) File.Delete(fileName);
4141

4242
reportView.PrintButton.Click();
43-
var printDialog = PrintDialog.GetDialog(Automation);
44-
printDialog.PrinterSelector.Select(printDialog.PrintToPdf.Name);
45-
Retry.WhileFalse(() => printDialog.PrintButton.IsEnabled, throwOnTimeout: true);
46-
printDialog.PrintButton.Invoke();
43+
var version = new Version(10, 0, 22621, 0); // Windows 11 22H2
44+
if (Environment.OSVersion.Version >= version)
45+
{
46+
var printDialog = PrintDialog.GetDialog(Automation);
47+
printDialog.PrinterSelector.Select(printDialog.PrintToPdf.Name);
48+
Retry.WhileFalse(() => printDialog.PrintButton.IsEnabled, throwOnTimeout: true);
49+
printDialog.PrintButton.Invoke();
50+
}
51+
else
52+
{
53+
var printDialog = window.FirstModalWindow().As<LegacyPrintDialog>();
54+
printDialog.PrintButton.Click();
55+
}
4756

4857
var saveFileDialog = window.FirstModalWindow().As<SaveFileDialog>();
4958
saveFileDialog.SetFileName(fileName);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using FlaUI.Core;
2+
using FlaUI.Core.AutomationElements;
3+
4+
namespace UITest.SystemViews;
5+
6+
public class LegacyPrintDialog(FrameworkAutomationElementBase element) : Window(element)
7+
{
8+
public Button PrintButton => this.Find("1").AsButton();
9+
10+
public Button CancelButton => this.Find("2").AsButton();
11+
}

0 commit comments

Comments
 (0)