mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-22 22:14:44 -04:00
6932046c5f
* Set up CI with Azure Pipelines [skip ci] * Remove Travis, Build Multiple Environments * Change Task Type to Bash * Checkout submodules * Remove Appveyor Tests, Add Azure Tests * Oops Forget Steps * bad name * test script fixes * add tests to build job * fixup tests * name test runs * fpcalc and artifacts * Try to fix installer * Publish separately * Try publish * Another go at artifacts * Tidy up * Add sentry, assembly info patching and bump version * Only patch one AssemblyInfo; set node version 10 * Try pipeline artifacts again * Tidy up - pipeline artifact seems to be way forward * Fix installer publish * first go at test job seperation * job names and depends/consitions for tests * pusblish single file test artifact * pipeline artifact for test * blitz the pattern filter * windows test jobs * mac tests, checkout on test jobs * try to download build artifact to test job * download and extract artifact * Set LD_LIBRARY_PATH and print some sqlite debug info on mac tests * fixup! tests * integration test fixes * fixup! integration test fixes * fixup! integration test fixes * more fixup * use bash cp * test fixups * mkdir before copy * linux works! add osx integration tests * im tooo tired * coverage attempt * coverage seperate stage * windows paths for integration test * switch coverage to windows where opencover actually works * fix test script * one last go * Simplify installer, try to fix name * Try to parallelize backend and frontend build * Try adding a matrix * Try matrix jobs not stages * Try to fix package step * Remove opencover install * Try to fix tests * coverage fixes * revert build.sh changes * triggers so we don't double build * Publish coverage package so we can debug * try coverage no build, output artifact * use the full pipeline workspace from build job * fix automation tests for new ui * Assorted fix attempts * Another go * MacOS debug * Tidy up, try to fix mac * Fix mac fpcalc, add mac integration tests * Add cross platform automation tests * Fix packages * Try to fix Automation tests * Don't wait on the installer to create standard packages * Fixes * delete logentries reference * run automation tests in headless mode * try install firefox mac * Revert "try install firefox mac" This reverts commit 4684bb19018747cb00407e1d8df64391f44f5183. * test sonarcloud prepare outputs * basic analyze and upload * don't limit fetch depth on analyze * manual scanner do front and backend? * full analyize with tests, coverage * should depend on tests, coverage * no need for condition on coverage * Fix up build numbering * Try to fix sonar * Separate coverage calculation and publication * Try to fix coverage upload
63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using System;
|
|
using System.Threading;
|
|
using OpenQA.Selenium;
|
|
using OpenQA.Selenium.Remote;
|
|
using OpenQA.Selenium.Support.UI;
|
|
|
|
namespace NzbDrone.Automation.Test.PageModel
|
|
{
|
|
public class PageBase
|
|
{
|
|
private readonly RemoteWebDriver _driver;
|
|
|
|
public PageBase(RemoteWebDriver driver)
|
|
{
|
|
_driver = driver;
|
|
driver.Manage().Window.Maximize();
|
|
}
|
|
|
|
public IWebElement FindByClass(string className, int timeout = 5)
|
|
{
|
|
return Find(By.ClassName(className), timeout);
|
|
}
|
|
|
|
public IWebElement Find(By by, int timeout = 5)
|
|
{
|
|
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(timeout));
|
|
return wait.Until(d => d.FindElement(by));
|
|
}
|
|
|
|
public void WaitForNoSpinner(int timeout = 30)
|
|
{
|
|
//give the spinner some time to show up.
|
|
Thread.Sleep(200);
|
|
|
|
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(timeout));
|
|
wait.Until(d =>
|
|
{
|
|
try
|
|
{
|
|
IWebElement element = d.FindElement(By.Id("followingBalls"));
|
|
return !element.Displayed;
|
|
}
|
|
catch (NoSuchElementException)
|
|
{
|
|
return true;
|
|
}
|
|
});
|
|
}
|
|
|
|
public IWebElement ArtistNavIcon => Find(By.LinkText("Artist"));
|
|
|
|
public IWebElement CalendarNavIcon => Find(By.LinkText("Calendar"));
|
|
|
|
public IWebElement ActivityNavIcon => Find(By.LinkText("Activity"));
|
|
|
|
public IWebElement WantedNavIcon => Find(By.LinkText("Wanted"));
|
|
|
|
public IWebElement SettingNavIcon => Find(By.LinkText("Settings"));
|
|
|
|
public IWebElement SystemNavIcon => Find(By.PartialLinkText("System"));
|
|
}
|
|
}
|