Skip to content

Commit 2d97f8b

Browse files
authored
Merge pull request #161 from MADE-Apps/feature/web-auth
Added new Web Authentication library with Azure AD page object
2 parents 339c146 + 3a800d8 commit 2d97f8b

File tree

25 files changed

+468
-39
lines changed

25 files changed

+468
-39
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
[![Legerity docs](https://img.shields.io/badge/docs-Legerity-blue.svg)](https://made-apps.github.io/legerity/)
3434
[![Legerity discussions](https://img.shields.io/badge/discuss-Legerity-blue.svg)](https://github.com/MADE-Apps/legerity/discussions)
3535

36-
Legerity is an automated UI testing framework for building maintainable tests quickly for Windows, Android, iOS, and Web applications with C#/.NET.
36+
Legerity is an automated UI testing framework for building maintainable tests quickly for Windows, Android, iOS, and Web applications with C#/.NET.
3737

3838
It simplifies the development by providing easy-to-use element wrappers for native app controls that allow developers to quickly get up and running with UI tests in no time.
3939

@@ -59,7 +59,7 @@ Our documentation includes usages examples, as well as API documentation for you
5959

6060
## Installation 💾
6161

62-
Legerity is publicly available via NuGet. Each available package is detailed below.
62+
Legerity is publicly available via NuGet. Each available package is detailed below.
6363

6464
For non-core platform controls, for example, WinUI or the Windows Community Toolkit, we're providing additional extension packages for you to take advantage of within your test projects.
6565

@@ -71,14 +71,15 @@ For non-core platform controls, for example, WinUI or the Windows Community Tool
7171
| [![Nuget](https://img.shields.io/nuget/v/Legerity.Android.svg?label=Legerity.Android)](https://www.nuget.org/packages/Legerity.Android/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Android.svg)](https://www.nuget.org/packages/Legerity.Android) |
7272
| [![Nuget](https://img.shields.io/nuget/v/Legerity.IOS.svg?label=Legerity.IOS)](https://www.nuget.org/packages/Legerity.IOS/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.IOS.svg)](https://www.nuget.org/packages/Legerity.IOS) |
7373
| [![Nuget](https://img.shields.io/nuget/v/Legerity.Web.svg?label=Legerity.Web)](https://www.nuget.org/packages/Legerity.Web/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Web.svg)](https://www.nuget.org/packages/Legerity.Web) |
74+
| [![Nuget](https://img.shields.io/nuget/v/Legerity.Web.Authentication.svg?label=Legerity.Web.Authentication)](https://www.nuget.org/packages/Legerity.Web.Authentication/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Web.Authentication.svg)](https://www.nuget.org/packages/Legerity.Web.Authentication) |
7475
| [![Nuget](https://img.shields.io/nuget/v/Legerity.MADE.svg?label=Legerity.MADE)](https://www.nuget.org/packages/Legerity.MADE/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.MADE.svg)](https://www.nuget.org/packages/Legerity.MADE) |
7576
| [![Nuget](https://img.shields.io/nuget/v/Legerity.Telerik.Uwp.svg?label=Legerity.Telerik.Uwp)](https://www.nuget.org/packages/Legerity.Telerik.Uwp/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.Telerik.Uwp.svg)](https://www.nuget.org/packages/Legerity.Telerik.Uwp) |
7677
| [![Nuget](https://img.shields.io/nuget/v/Legerity.WCT.svg?label=Legerity.WCT)](https://www.nuget.org/packages/Legerity.WCT/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.WCT.svg)](https://www.nuget.org/packages/Legerity.WCT) |
7778
| [![Nuget](https://img.shields.io/nuget/v/Legerity.WinUI.svg?label=Legerity.WinUI)](https://www.nuget.org/packages/Legerity.WinUI/) | [![NuGet Downloads](https://img.shields.io/nuget/dt/Legerity.WinUI.svg)](https://www.nuget.org/packages/Legerity.WinUI) |
7879

7980
## Support Legerity 💗
8081

81-
As many developers know, projects like Legerity are built and maintained in spare time. If you find this project useful, please **Star** the repo and if possible, sponsor the project development on GitHub.
82+
As many developers know, projects like Legerity are built and maintained in spare time. If you find this project useful, please **Star** the repo and if possible, sponsor the project development on GitHub.
8283

8384
## Contributing 🚀
8485

@@ -110,7 +111,7 @@ Even better, why not help build out your custom control wrapper elements within
110111

111112
When contributing to new element wrappers, we recommended using the [Accessibility Insights tool](https://accessibilityinsights.io/en/). The tool is capable of inspecting and providing property values for Android, Web, and Windows applications.
112113

113-
Alternatively, you can use the [Inspect.exe tool](https://docs.microsoft.com/en-us/windows/win32/winauto/inspect-objects) for Windows applications installed with the Windows SDKs. This is not recommended as the tool is considered legacy and can often cause oddities in UI when using.
114+
Alternatively, you can use the [Inspect.exe tool](https://docs.microsoft.com/en-us/windows/win32/winauto/inspect-objects) for Windows applications installed with the Windows SDKs. This is not recommended as the tool is considered legacy and can often cause oddities in UI when using.
114115

115116
## License
116117

docs/articles/available-packages.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ For non-core platform controls, for example, the Windows Community Toolkit, we p
1717
| Legerity.Android | [![Nuget](https://img.shields.io/nuget/v/Legerity.Android.svg)](https://www.nuget.org/packages/Legerity.Android/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.Android.svg)](https://www.nuget.org/packages/Legerity.Android/) |
1818
| Legerity.IOS | [![Nuget](https://img.shields.io/nuget/v/Legerity.IOS.svg)](https://www.nuget.org/packages/Legerity.IOS/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.IOS.svg)](https://www.nuget.org/packages/Legerity.IOS/) |
1919
| Legerity.Web | [![Nuget](https://img.shields.io/nuget/v/Legerity.Web.svg)](https://www.nuget.org/packages/Legerity.Web/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.Web.svg)](https://www.nuget.org/packages/Legerity.Web/) |
20+
| Legerity.Web.Authentication | [![Nuget](https://img.shields.io/nuget/v/Legerity.Web.Authentication.svg)](https://www.nuget.org/packages/Legerity.Web.Authentication/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.Web.Authentication.svg)](https://www.nuget.org/packages/Legerity.Web.Authentication/) |
2021
| Legerity.MADE | [![Nuget](https://img.shields.io/nuget/v/Legerity.MADE.svg)](https://www.nuget.org/packages/Legerity.MADE/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.MADE.svg)](https://www.nuget.org/packages/Legerity.MADE/) |
2122
| Legerity.Telerik.Uwp | [![Nuget](https://img.shields.io/nuget/v/Legerity.Telerik.Uwp.svg)](https://www.nuget.org/packages/Legerity.Telerik.Uwp/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.Telerik.Uwp.svg)](https://www.nuget.org/packages/Legerity.Telerik.Uwp/) |
2223
| Legerity.WCT | [![Nuget](https://img.shields.io/nuget/v/Legerity.WCT.svg)](https://www.nuget.org/packages/Legerity.WCT/) | [![Nuget](https://img.shields.io/nuget/vpre/Legerity.WCT.svg)](https://www.nuget.org/packages/Legerity.WCT/) |
@@ -239,4 +240,14 @@ It includes the base `WebElementWrapper` as well as the following element wrappe
239240

240241
[Using the Web package](features/web.md)
241242

242-
</span>
243+
</span>
244+
245+
### Web Authentication
246+
247+
The Web Authentication extension package provides the capabilities for common page objects that cover standard web authentication provider flows, such as Azure Active Directory login.
248+
249+
<span class="button">
250+
251+
[Using the Web Authentication package](features/web-authentication.md)
252+
253+
</span>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
uid: web-authentication
3+
title: Using the Web authentication helpers
4+
---
5+
6+
# Using the Web authentication helpers
7+
8+
The goal of the Web authentication library is to provide an easy set of standard page objects to interact with common authentication provider flows on the web.
9+
10+
## Available web authentication helpers
11+
12+
- [AzureAdLoginPage](https://github.com/MADE-Apps/legerity/blob/main/src/Legerity.Web.Authentication/Pages/AzureAdLoginPage.cs)

docs/articles/features/web.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@ These Web element wrappers are designed to be used with applications built for t
2323
- [Select](https://github.com/MADE-Apps/legerity/blob/main/src/Legerity.Web/Elements/Core/Select.cs)
2424
- [TextArea](https://github.com/MADE-Apps/legerity/blob/main/src/Legerity.Web/Elements/Core/TextArea.cs)
2525
- [TextInput](https://github.com/MADE-Apps/legerity/blob/main/src/Legerity.Web/Elements/Core/TextInput.cs)
26+
27+
## Additional Web library packages
28+
29+
As well as the core Web element wrappers for out-of-the-box SDK controls, Legerity provides the following additional packages which can be used with UI test projects for web applications.
30+
31+
- [Web Authentication page objects](web-authentication.md)

docs/articles/toc.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,6 @@
3535
- name: For Web apps
3636
items:
3737
- name: Overview
38-
href: features/web.md
38+
href: features/web.md
39+
- name: Authentication Helpers
40+
href: features/web-authentication.md

samples/AndroidCoreSamples/AndroidCoreSamples.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Appium.WebDriver" Version="4.3.2" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
1212
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
1313
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
1414
<PackageReference Include="Shouldly" Version="4.1.0" />

samples/MADESampleApp/MADESampleApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Appium.WebDriver" Version="4.3.2" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
1212
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
1313
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
1414
<PackageReference Include="Shouldly" Version="4.1.0" />

samples/TelerikUwpSdkSample/TelerikUwpSdkSample.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Appium.WebDriver" Version="4.3.2" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
1212
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
1313
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
1414
<PackageReference Include="Shouldly" Version="4.1.0" />

samples/W3SchoolsWebTests/W3SchoolsWebTests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Appium.WebDriver" Version="4.3.2" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
1212
<PackageReference Include="nunit" Version="3.13.3" />
1313
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
14-
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="104.0.5112.7900" />
15-
<PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="104.0.1293.70" />
14+
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="105.0.5195.5200" />
15+
<PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="105.0.1343.27" />
1616
<PackageReference Include="Shouldly" Version="4.1.0" />
1717
</ItemGroup>
1818

samples/WebTests/WebTests.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Appium.WebDriver" Version="4.3.2" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
1212
<PackageReference Include="nunit" Version="3.13.3" />
1313
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
14-
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="104.0.5112.7900" />
15-
<PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="104.0.1293.70" />
14+
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="105.0.5195.5200" />
15+
<PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="105.0.1343.27" />
1616
<PackageReference Include="Shouldly" Version="4.1.0" />
1717
</ItemGroup>
1818

1919
<ItemGroup>
20+
<ProjectReference Include="..\..\src\Legerity.Web.Authentication\Legerity.Web.Authentication.csproj" />
2021
<ProjectReference Include="..\..\src\Legerity\Legerity.csproj" />
2122
</ItemGroup>
2223

0 commit comments

Comments
 (0)