fix automation tests for new ui

This commit is contained in:
Qstick 2019-08-11 23:22:19 -04:00
commit 6e47efad7f
5 changed files with 45 additions and 22 deletions

View file

@ -67,7 +67,7 @@ stages:
- publish: $(outputFolder) - publish: $(outputFolder)
artifact: '$(osName)Backend' artifact: '$(osName)Backend'
condition: and(succeeded(), eq(variables['osName'], 'Windows')) condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: $(Pipeline.Workspace) - publish: $(Build.SourcesDirectory)
artifact: 'CoverageBuild' artifact: 'CoverageBuild'
condition: and(succeeded(), eq(variables['osName'], 'Windows')) condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: $(testsFolder) - publish: $(testsFolder)
@ -354,6 +354,20 @@ stages:
buildType: 'current' buildType: 'current'
artifactName: Tests artifactName: Tests
targetPath: $(testsFolder) targetPath: $(testsFolder)
- task: DownloadPipelineArtifact@2
displayName: Download Build Artifact
inputs:
buildType: 'current'
artifactName: Packages
itemPattern: '**\Lidarr.**.windows.zip'
targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/Lidarr.**.windows.zip'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
- bash: |
mkdir -p ./bin/
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/
- task: Bash@3 - task: Bash@3
displayName: Windows Automation Tests displayName: Windows Automation Tests
inputs: inputs:
@ -406,7 +420,7 @@ stages:
inputs: inputs:
buildType: 'current' buildType: 'current'
artifactName: CoverageBuild artifactName: CoverageBuild
targetPath: $(Pipeline.Workspace) targetPath: $(Build.SourcesDirectory)
- bash: | - bash: |
ls -R ./ ls -R ./
#- publish: $(testsFolder) #- publish: $(testsFolder)

View file

@ -45,7 +45,7 @@ namespace NzbDrone.Automation.Test
var page = new PageBase(driver); var page = new PageBase(driver);
page.WaitForNoSpinner(); page.WaitForNoSpinner();
driver.ExecuteScript("window.NzbDrone.NameViews = true;"); driver.ExecuteScript("window.Lidarr.NameViews = true;");
GetPageErrors().Should().BeEmpty(); GetPageErrors().Should().BeEmpty();
} }

View file

@ -1,4 +1,4 @@
using FluentAssertions; using FluentAssertions;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Automation.Test.PageModel; using NzbDrone.Automation.Test.PageModel;
using OpenQA.Selenium; using OpenQA.Selenium;
@ -21,7 +21,7 @@ namespace NzbDrone.Automation.Test
{ {
page.ArtistNavIcon.Click(); page.ArtistNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-artist-index-artistindexlayout").Should().NotBeNull(); page.Find(By.CssSelector("div[class*='ArtistIndex']")).Should().NotBeNull();
} }
[Test] [Test]
@ -30,7 +30,7 @@ namespace NzbDrone.Automation.Test
page.CalendarNavIcon.Click(); page.CalendarNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-calendar-calendarlayout").Should().NotBeNull(); page.Find(By.CssSelector("div[class*='CalendarPage']")).Should().NotBeNull();
} }
[Test] [Test]
@ -39,7 +39,9 @@ namespace NzbDrone.Automation.Test
page.ActivityNavIcon.Click(); page.ActivityNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-activity-activitylayout").Should().NotBeNull(); page.Find(By.LinkText("Queue")).Should().NotBeNull();
page.Find(By.LinkText("History")).Should().NotBeNull();
page.Find(By.LinkText("Blacklist")).Should().NotBeNull();
} }
[Test] [Test]
@ -48,7 +50,8 @@ namespace NzbDrone.Automation.Test
page.WantedNavIcon.Click(); page.WantedNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-wanted-missing-missinglayout").Should().NotBeNull(); page.Find(By.LinkText("Missing")).Should().NotBeNull();
page.Find(By.LinkText("Cutoff Unmet")).Should().NotBeNull();
} }
[Test] [Test]
@ -57,20 +60,20 @@ namespace NzbDrone.Automation.Test
page.SystemNavIcon.Click(); page.SystemNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-system-systemlayout").Should().NotBeNull(); page.Find(By.CssSelector("div[class*='Health']")).Should().NotBeNull();
} }
[Test] [Test]
public void add_series_page() public void add_artist_page()
{ {
page.ArtistNavIcon.Click(); page.ArtistNavIcon.Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.Find(By.LinkText("Add Artist")).Click(); page.Find(By.LinkText("Add New")).Click();
page.WaitForNoSpinner(); page.WaitForNoSpinner();
page.FindByClass("iv-addartist-addartistlayout").Should().NotBeNull(); page.Find(By.CssSelector("input[class*='AddNewArtist-searchInput']")).Should().NotBeNull();
} }
} }
} }

View file

@ -85,8 +85,14 @@
<PackageReference Include="NUnit"> <PackageReference Include="NUnit">
<Version>3.11.0</Version> <Version>3.11.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Selenium.Firefox.WebDriver">
<Version>0.24.0</Version>
</PackageReference>
<PackageReference Include="Selenium.Support"> <PackageReference Include="Selenium.Support">
<Version>3.2.0</Version> <Version>3.141.0</Version>
</PackageReference>
<PackageReference Include="Selenium.WebDriver">
<Version>3.141.0</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View file

@ -1,4 +1,4 @@
using System; using System;
using System.Threading; using System.Threading;
using OpenQA.Selenium; using OpenQA.Selenium;
using OpenQA.Selenium.Remote; using OpenQA.Selenium.Remote;
@ -47,16 +47,16 @@ namespace NzbDrone.Automation.Test.PageModel
}); });
} }
public IWebElement ArtistNavIcon => FindByClass("x-artist-nav"); public IWebElement ArtistNavIcon => Find(By.LinkText("Artist"));
public IWebElement CalendarNavIcon => FindByClass("x-calendar-nav"); public IWebElement CalendarNavIcon => Find(By.LinkText("Calendar"));
public IWebElement ActivityNavIcon => FindByClass("x-activity-nav"); public IWebElement ActivityNavIcon => Find(By.LinkText("Activity"));
public IWebElement WantedNavIcon => FindByClass("x-wanted-nav"); public IWebElement WantedNavIcon => Find(By.LinkText("Wanted"));
public IWebElement SettingNavIcon => FindByClass("x-settings-nav"); public IWebElement SettingNavIcon => Find(By.LinkText("Settings"));
public IWebElement SystemNavIcon => FindByClass("x-system-nav"); public IWebElement SystemNavIcon => Find(By.PartialLinkText("System"));
} }
} }