diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f68fb54 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,97 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow will build, test, sign and package a WPF or Windows Forms desktop application +# built on .NET Core. +# To learn how to migrate your existing application to .NET Core, +# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework +# +# To configure this workflow: +# +# 1. Configure environment variables +# GitHub sets default environment variables for every workflow run. +# Replace the variables relative to your project in the "env" section below. +# +# 2. Signing +# Generate a signing certificate in the Windows Application +# Packaging Project or add an existing signing certificate to the project. +# Next, use PowerShell to encode the .pfx file using Base64 encoding +# by running the following Powershell script to generate the output string: +# +# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte +# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt' +# +# Open the output file, SigningCertificate_Encoded.txt, and copy the +# string inside. Then, add the string to the repo as a GitHub secret +# and name it "Base64_Encoded_Pfx." +# For more information on how to configure your signing certificate for +# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing +# +# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key". +# See "Build the Windows Application Packaging project" below to see how the secret is used. +# +# For more information on GitHub Actions, refer to https://github.com/features/actions +# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications, +# refer to https://github.com/microsoft/github-actions-for-desktop-apps + +name: .NET Core Desktop + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + + # strategy: + # matrix: + # configuration: [Debug, Release] + + runs-on: windows-latest # For a list of available runner types, refer to + # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on + + env: + Solution_Name: src\FlaUI.WebDriver.sln + Test_Project_Path: src\FlaUI.WebDriver.UITests\FlaUI.WebDriver.UITests.csproj + Wap_Project_Directory: src\FlaUI.WebDriver.Package + Wap_Project_Path: src\FlaUI.WebDriver.Package\FlaUI.WebDriver.Package.wapproj + Configuration: Release + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 6.0.x + + - name: Setup MSBuild.exe + uses: microsoft/setup-msbuild@v2 + + - name: Restore dependencies + run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration /V:minimal + + - name: Test + run: dotnet test --no-restore --verbosity normal + working-directory: ./src + + - name: Create the app package + run: msbuild $env:Wap_Project_Path /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:RestorePackages=false + env: + Appx_Bundle: Always + Appx_Bundle_Platforms: x86|x64 + Appx_Package_Build_Mode: StoreUpload + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: MSIX Package + path: ${{ env.Wap_Project_Directory }}\AppPackages diff --git a/src/FlaUI.WebDriver.Package/FlaUI.WebDriver.Package.wapproj b/src/FlaUI.WebDriver.Package/FlaUI.WebDriver.Package.wapproj new file mode 100644 index 0000000..0d8eb55 --- /dev/null +++ b/src/FlaUI.WebDriver.Package/FlaUI.WebDriver.Package.wapproj @@ -0,0 +1,82 @@ + + + + 15.0 + + + + Debug + x86 + + + Release + x86 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + Debug + ARM64 + + + Release + ARM64 + + + Debug + AnyCPU + + + Release + AnyCPU + + + + $(MSBuildExtensionsPath)\Microsoft\DesktopBridge\ + + + + c6b51974-4552-4854-82fe-f48ae94a66e7 + 10.0.22621.0 + 10.0.17763.0 + en-US + false + $(NoWarn);NU1702 + ..\FlaUI.WebDriver\FlaUI.WebDriver.csproj + + + + Designer + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/FlaUI.WebDriver.Package/Images/LockScreenLogo.scale-200.png b/src/FlaUI.WebDriver.Package/Images/LockScreenLogo.scale-200.png new file mode 100644 index 0000000..735f57a Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/LockScreenLogo.scale-200.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/SplashScreen.scale-200.png b/src/FlaUI.WebDriver.Package/Images/SplashScreen.scale-200.png new file mode 100644 index 0000000..023e7f1 Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/SplashScreen.scale-200.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/Square150x150Logo.scale-200.png b/src/FlaUI.WebDriver.Package/Images/Square150x150Logo.scale-200.png new file mode 100644 index 0000000..af49fec Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/Square150x150Logo.scale-200.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.scale-200.png b/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.scale-200.png new file mode 100644 index 0000000..ce342a2 Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.scale-200.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png b/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000..f6c02ce Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/StoreLogo.png b/src/FlaUI.WebDriver.Package/Images/StoreLogo.png new file mode 100644 index 0000000..7385b56 Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/StoreLogo.png differ diff --git a/src/FlaUI.WebDriver.Package/Images/Wide310x150Logo.scale-200.png b/src/FlaUI.WebDriver.Package/Images/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000..288995b Binary files /dev/null and b/src/FlaUI.WebDriver.Package/Images/Wide310x150Logo.scale-200.png differ diff --git a/src/FlaUI.WebDriver.Package/Package.appxmanifest b/src/FlaUI.WebDriver.Package/Package.appxmanifest new file mode 100644 index 0000000..3a0e5ee --- /dev/null +++ b/src/FlaUI.WebDriver.Package/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + FlaUI.WebDriver.Package + aristotelos + Images\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/FlaUI.WebDriver.UITests/FlaUI.WebDriver.UITests.csproj b/src/FlaUI.WebDriver.UITests/FlaUI.WebDriver.UITests.csproj index 8f8563b..fd1260f 100644 --- a/src/FlaUI.WebDriver.UITests/FlaUI.WebDriver.UITests.csproj +++ b/src/FlaUI.WebDriver.UITests/FlaUI.WebDriver.UITests.csproj @@ -18,4 +18,8 @@ + + + + diff --git a/src/FlaUI.WebDriver.UITests/WebDriverFixture.cs b/src/FlaUI.WebDriver.UITests/WebDriverFixture.cs index 59c62b7..e37eaca 100644 --- a/src/FlaUI.WebDriver.UITests/WebDriverFixture.cs +++ b/src/FlaUI.WebDriver.UITests/WebDriverFixture.cs @@ -9,7 +9,7 @@ namespace FlaUI.WebDriver.UITests [SetUpFixture] public class WebDriverFixture { - public static readonly Uri WebDriverUrl = new Uri("http://localhost:4723/"); + public static readonly Uri WebDriverUrl = new Uri("http://localhost:9723/"); private Process _webDriverProcess; diff --git a/src/FlaUI.WebDriver.sln b/src/FlaUI.WebDriver.sln index 4a9b0d1..cfa373f 100644 --- a/src/FlaUI.WebDriver.sln +++ b/src/FlaUI.WebDriver.sln @@ -13,24 +13,112 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlaUI.WebDriver", "FlaUI.We EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlaUI.WebDriver.UITests", "FlaUI.WebDriver.UITests\FlaUI.WebDriver.UITests.csproj", "{5315D9CF-DDA4-49AE-BA92-AB5814E61901}" EndProject +Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "FlaUI.WebDriver.Package", "FlaUI.WebDriver.Package\FlaUI.WebDriver.Package.wapproj", "{C6B51974-4552-4854-82FE-F48AE94A66E7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {C8276299-FA43-409B-A969-EF030AB56224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C8276299-FA43-409B-A969-EF030AB56224}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|ARM.ActiveCfg = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|ARM.Build.0 = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|ARM64.Build.0 = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|x64.ActiveCfg = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|x64.Build.0 = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|x86.ActiveCfg = Debug|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Debug|x86.Build.0 = Debug|Any CPU {C8276299-FA43-409B-A969-EF030AB56224}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8276299-FA43-409B-A969-EF030AB56224}.Release|Any CPU.Build.0 = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|ARM.ActiveCfg = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|ARM.Build.0 = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|ARM64.ActiveCfg = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|ARM64.Build.0 = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|x64.ActiveCfg = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|x64.Build.0 = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|x86.ActiveCfg = Release|Any CPU + {C8276299-FA43-409B-A969-EF030AB56224}.Release|x86.Build.0 = Release|Any CPU {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|Any CPU.Build.0 = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|ARM.ActiveCfg = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|ARM.Build.0 = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|ARM64.Build.0 = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|x64.ActiveCfg = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|x64.Build.0 = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|x86.ActiveCfg = Debug|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Debug|x86.Build.0 = Debug|Any CPU {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|Any CPU.ActiveCfg = Release|Any CPU {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|Any CPU.Build.0 = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|ARM.ActiveCfg = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|ARM.Build.0 = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|ARM64.ActiveCfg = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|ARM64.Build.0 = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|x64.ActiveCfg = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|x64.Build.0 = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|x86.ActiveCfg = Release|Any CPU + {07FE5EE9-0104-42CE-A79D-88FD7D79B542}.Release|x86.Build.0 = Release|Any CPU {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|ARM.ActiveCfg = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|ARM.Build.0 = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|ARM64.Build.0 = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|x64.ActiveCfg = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|x64.Build.0 = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|x86.ActiveCfg = Debug|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Debug|x86.Build.0 = Debug|Any CPU {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|Any CPU.ActiveCfg = Release|Any CPU {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|Any CPU.Build.0 = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|ARM.ActiveCfg = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|ARM.Build.0 = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|ARM64.ActiveCfg = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|ARM64.Build.0 = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|x64.ActiveCfg = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|x64.Build.0 = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|x86.ActiveCfg = Release|Any CPU + {5315D9CF-DDA4-49AE-BA92-AB5814E61901}.Release|x86.Build.0 = Release|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM.ActiveCfg = Debug|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM.Build.0 = Debug|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM.Deploy.0 = Debug|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM64.Build.0 = Debug|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x64.ActiveCfg = Debug|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x64.Build.0 = Debug|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x64.Deploy.0 = Debug|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x86.ActiveCfg = Debug|x86 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x86.Build.0 = Debug|x86 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Debug|x86.Deploy.0 = Debug|x86 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|Any CPU.Build.0 = Release|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|Any CPU.Deploy.0 = Release|Any CPU + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM.ActiveCfg = Release|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM.Build.0 = Release|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM.Deploy.0 = Release|ARM + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM64.ActiveCfg = Release|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM64.Build.0 = Release|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|ARM64.Deploy.0 = Release|ARM64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x64.ActiveCfg = Release|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x64.Build.0 = Release|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x64.Deploy.0 = Release|x64 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x86.ActiveCfg = Release|x86 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x86.Build.0 = Release|x86 + {C6B51974-4552-4854-82FE-F48AE94A66E7}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/FlaUI.WebDriver/FlaUI.WebDriver.csproj b/src/FlaUI.WebDriver/FlaUI.WebDriver.csproj index 7b1209e..81b40b9 100644 --- a/src/FlaUI.WebDriver/FlaUI.WebDriver.csproj +++ b/src/FlaUI.WebDriver/FlaUI.WebDriver.csproj @@ -8,6 +8,10 @@ false + + FlaUI.WebDriver.Program + +