diff --git a/.nuspec/Objectivity.Test.Automation.Nunit.nuspec b/.nuspec/Objectivity.Test.Automation.Nunit.nuspec index ade261f5a..7ff70863e 100644 --- a/.nuspec/Objectivity.Test.Automation.Nunit.nuspec +++ b/.nuspec/Objectivity.Test.Automation.Nunit.nuspec @@ -15,11 +15,11 @@ Copyright 2015 selenium webdriver testautomation tests nunit Objectivity.Test.Automation.Common - - - + + + - + diff --git a/Objectivity.Test.Automation.Common.Documentation/Selenium.shfbproj b/Objectivity.Test.Automation.Common.Documentation/Selenium.shfbproj index 654374bbc..846351e2b 100644 --- a/Objectivity.Test.Automation.Common.Documentation/Selenium.shfbproj +++ b/Objectivity.Test.Automation.Common.Documentation/Selenium.shfbproj @@ -27,10 +27,10 @@ - - - - + + + + 100 OnlyWarningsAndErrors Website diff --git a/Objectivity.Test.Automation.Common/App.config b/Objectivity.Test.Automation.Common/App.config index 4c4a61c86..99ddbae73 100644 --- a/Objectivity.Test.Automation.Common/App.config +++ b/Objectivity.Test.Automation.Common/App.config @@ -1,4 +1,4 @@ - +
@@ -9,30 +9,30 @@ - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -44,21 +44,22 @@ - + - + - + - - + + @@ -73,4 +74,4 @@ add key="ChromePluginName.crx" value=""/--> - \ No newline at end of file + diff --git a/Objectivity.Test.Automation.Common/BaseConfiguration.cs b/Objectivity.Test.Automation.Common/BaseConfiguration.cs index 985a8796f..e707e0df5 100644 --- a/Objectivity.Test.Automation.Common/BaseConfiguration.cs +++ b/Objectivity.Test.Automation.Common/BaseConfiguration.cs @@ -30,7 +30,7 @@ namespace Objectivity.Test.Automation.Common using OpenQA.Selenium.Remote; /// - /// SeleniumConfiguration that consume app.config file + /// SeleniumConfiguration that consume app.config file More details on wiki /// public static class BaseConfiguration { @@ -42,6 +42,12 @@ public static class BaseConfiguration /// /// Gets the Driver. /// + /// How to use it: + /// if (BaseConfiguration.TestBrowser == BrowserType.Firefox) + /// { + /// this.Driver.GetElement(this.fileLink.Format(fileName), "Click on file").Click(); + /// }; + /// public static BrowserType TestBrowser { get @@ -135,6 +141,9 @@ public static string Password /// /// Gets the java script or ajax waiting time [seconds]. /// + /// How to use it: + /// this.Driver.IsElementPresent(this.statusCodeHeader, BaseConfiguration.MediumTimeout); + /// public static double MediumTimeout { get { return Convert.ToDouble(ConfigurationManager.AppSettings["mediumTimeout"], CultureInfo.CurrentCulture); } @@ -143,6 +152,9 @@ public static double MediumTimeout /// /// Gets the page load waiting time [seconds]. /// + /// How to use it: + /// element.GetElement(locator, BaseConfiguration.LongTimeout, e => e.Displayed, customMessage); + /// public static double LongTimeout { get { return Convert.ToDouble(ConfigurationManager.AppSettings["longTimeout"], CultureInfo.CurrentCulture); } @@ -151,6 +163,9 @@ public static double LongTimeout /// /// Gets the assertion waiting time [seconds]. /// + /// How to use it: + /// this.Driver.IsElementPresent(this.downloadPageHeader, BaseConfiguration.ShortTimeout); + /// public static double ShortTimeout { get { return Convert.ToDouble(ConfigurationManager.AppSettings["shortTimeout"], CultureInfo.CurrentCulture); } @@ -359,6 +374,9 @@ public static string PageSourceFolder /// /// Gets the URL value 'Protocol://HostURL'. /// + /// How to use it: + /// var url = BaseConfiguration.GetUrlValue; + /// public static string GetUrlValue { get @@ -370,6 +388,9 @@ public static string GetUrlValue /// /// Gets the URL value with user credentials 'Protocol://Username:Password@HostURL'. /// + /// How to use it: + /// var url = BaseConfiguration.GetUrlValueWithUserCredentials; + /// public static string GetUrlValueWithUserCredentials { get diff --git a/Objectivity.Test.Automation.Common/DriverContext.cs b/Objectivity.Test.Automation.Common/DriverContext.cs index d8ac13552..2de5f3cb3 100644 --- a/Objectivity.Test.Automation.Common/DriverContext.cs +++ b/Objectivity.Test.Automation.Common/DriverContext.cs @@ -414,7 +414,7 @@ public DesiredCapabilities SetCapabilities() { case BrowserType.Firefox: capabilities = DesiredCapabilities.Firefox(); - capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, this.FirefoxProfile); + capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, this.FirefoxProfile.ToBase64String()); break; case BrowserType.InternetExplorer: capabilities = DesiredCapabilities.InternetExplorer(); @@ -467,9 +467,9 @@ public void Start() string.Format(CultureInfo.CurrentCulture, "Driver {0} is not supported", BaseConfiguration.TestBrowser)); } - this.driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(BaseConfiguration.LongTimeout)); - this.driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(BaseConfiguration.ShortTimeout)); - this.driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromMilliseconds(BaseConfiguration.ImplicitlyWaitMilliseconds)); + this.driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(BaseConfiguration.LongTimeout); + this.driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(BaseConfiguration.ShortTimeout); + this.driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(BaseConfiguration.ImplicitlyWaitMilliseconds); this.driver.Manage().Window.Maximize(); } @@ -498,7 +498,7 @@ public void SaveScreenshot(ErrorDetail errorDetail, string folder, string title) try { - errorDetail.Screenshot.SaveAsFile(filePath, ImageFormat.Png); + errorDetail.Screenshot.SaveAsFile(filePath, ScreenshotImageFormat.Png); Logger.Error(CultureInfo.CurrentCulture, "Test failed: screenshot saved to {0}.", filePath); Logger.Info(CultureInfo.CurrentCulture, "##teamcity[publishArtifacts '{0}']", filePath); } diff --git a/Objectivity.Test.Automation.Common/Helpers/FilesHelper.cs b/Objectivity.Test.Automation.Common/Helpers/FilesHelper.cs index 36f29a3a1..659e1a376 100644 --- a/Objectivity.Test.Automation.Common/Helpers/FilesHelper.cs +++ b/Objectivity.Test.Automation.Common/Helpers/FilesHelper.cs @@ -35,7 +35,7 @@ namespace Objectivity.Test.Automation.Common.Helpers using Objectivity.Test.Automation.Common; /// - /// Class for handling downloading files + /// Class for handling downloading files More details on wiki /// public static class FilesHelper { diff --git a/Objectivity.Test.Automation.Common/Helpers/PerformanceHelper.cs b/Objectivity.Test.Automation.Common/Helpers/PerformanceHelper.cs index 54ba2c876..b6050d07c 100644 --- a/Objectivity.Test.Automation.Common/Helpers/PerformanceHelper.cs +++ b/Objectivity.Test.Automation.Common/Helpers/PerformanceHelper.cs @@ -33,7 +33,7 @@ namespace Objectivity.Test.Automation.Common.Helpers using Objectivity.Test.Automation.Common.Types; /// - /// Class which support performance tests. + /// Class which support performance tests. More details on wiki /// public class PerformanceHelper { diff --git a/Objectivity.Test.Automation.Common/Objectivity.Test.Automation.Common.csproj b/Objectivity.Test.Automation.Common/Objectivity.Test.Automation.Common.csproj index a56460265..2a90fa15a 100644 --- a/Objectivity.Test.Automation.Common/Objectivity.Test.Automation.Common.csproj +++ b/Objectivity.Test.Automation.Common/Objectivity.Test.Automation.Common.csproj @@ -11,7 +11,7 @@ Properties Objectivity.Test.Automation.Common Objectivity.Test.Automation.Common - v4.0 + v4.5 512 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) @@ -35,6 +35,7 @@ false bin\Debug\Objectivity.Test.Automation.Common.XML ..\fxcop-sonarqube.tests.ruleset + false pdbonly @@ -50,6 +51,7 @@ False ..\fxcop-sonarqube.tests.ruleset bin\Release\Objectivity.Test.Automation.Common.XML + false @@ -111,7 +113,7 @@ True - ..\packages\NLog.4.3.5\lib\net40\NLog.dll + ..\packages\NLog.4.3.5\lib\net45\NLog.dll True @@ -121,12 +123,12 @@ - - ..\packages\Selenium.WebDriver.3.0.1\lib\net40\WebDriver.dll + + ..\packages\Selenium.WebDriver.3.1.0\lib\net40\WebDriver.dll True - - ..\packages\Selenium.Support.3.0.1\lib\net40\WebDriver.Support.dll + + ..\packages\Selenium.Support.3.1.0\lib\net40\WebDriver.Support.dll True @@ -173,11 +175,11 @@ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + - - - + + + - + - - - - - + + + + + - - - - + + + + - - + + @@ -44,21 +44,16 @@ - + - + - + - - + + @@ -73,4 +68,4 @@ add key="ChromePluginName.crx" value=""/--> - \ No newline at end of file + diff --git a/Objectivity.Test.Automation.Tests.MsTest/Objectivity.Test.Automation.Tests.MsTest.csproj b/Objectivity.Test.Automation.Tests.MsTest/Objectivity.Test.Automation.Tests.MsTest.csproj index ac20e01e7..3ca592ba5 100644 --- a/Objectivity.Test.Automation.Tests.MsTest/Objectivity.Test.Automation.Tests.MsTest.csproj +++ b/Objectivity.Test.Automation.Tests.MsTest/Objectivity.Test.Automation.Tests.MsTest.csproj @@ -9,7 +9,7 @@ Properties Objectivity.Test.Automation.Tests.MsTest Objectivity.Test.Automation.Tests.MsTest - v4.0 + v4.5 512 ..\ @@ -33,6 +33,7 @@ True False ..\fxcop-sonarqube.tests.ruleset + false pdbonly @@ -47,6 +48,7 @@ True False ..\fxcop-sonarqube.tests.ruleset + false true @@ -57,7 +59,7 @@ ..\..\..\..\..\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll - ..\packages\NLog.4.3.5\lib\net40\NLog.dll + ..\packages\NLog.4.3.5\lib\net45\NLog.dll True @@ -65,8 +67,8 @@ - - ..\packages\Selenium.WebDriver.3.0.1\lib\net40\WebDriver.dll + + ..\packages\Selenium.WebDriver.3.1.0\lib\net40\WebDriver.dll True diff --git a/Objectivity.Test.Automation.Tests.MsTest/ProjectTestBase.cs b/Objectivity.Test.Automation.Tests.MsTest/ProjectTestBase.cs index a5257efc2..4ff0a3bd8 100644 --- a/Objectivity.Test.Automation.Tests.MsTest/ProjectTestBase.cs +++ b/Objectivity.Test.Automation.Tests.MsTest/ProjectTestBase.cs @@ -30,7 +30,7 @@ namespace Objectivity.Test.Automation.Tests.MsTest using Objectivity.Test.Automation.Common.Logger; /// - /// The base class for all tests + /// The base class for all tests More details on wiki /// [TestClass] public class ProjectTestBase : TestBase diff --git a/Objectivity.Test.Automation.Tests.MsTest/packages.config b/Objectivity.Test.Automation.Tests.MsTest/packages.config index 1223c7e4c..4065d8739 100644 --- a/Objectivity.Test.Automation.Tests.MsTest/packages.config +++ b/Objectivity.Test.Automation.Tests.MsTest/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Objectivity.Test.Automation.Tests.NUnit/App.config b/Objectivity.Test.Automation.Tests.NUnit/App.config index 85f5dcda0..22f0ac005 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/App.config +++ b/Objectivity.Test.Automation.Tests.NUnit/App.config @@ -1,4 +1,4 @@ - +
@@ -9,30 +9,30 @@ - - - + + + - + - - - - - + + + + + - - - - + + + + - - + + @@ -44,23 +44,18 @@ - + - + - + - + - - + + @@ -75,4 +70,4 @@ add key="ChromePluginName.crx" value=""/--> - + diff --git a/Objectivity.Test.Automation.Tests.NUnit/DataDriven/CompareFiles.cs b/Objectivity.Test.Automation.Tests.NUnit/DataDriven/CompareFiles.cs index f048ace7c..7a4029d2e 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/DataDriven/CompareFiles.cs +++ b/Objectivity.Test.Automation.Tests.NUnit/DataDriven/CompareFiles.cs @@ -30,6 +30,9 @@ namespace Objectivity.Test.Automation.Tests.NUnit.DataDriven using global::NUnit.Framework; using NLog; + /// + /// DataDriven comparing files methods for NUnit test framework More details on wiki + /// public static class CompareFiles { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); diff --git a/Objectivity.Test.Automation.Tests.NUnit/DataDriven/DataDrivenHelper.cs b/Objectivity.Test.Automation.Tests.NUnit/DataDriven/DataDrivenHelper.cs index b180f81f7..05d60886a 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/DataDriven/DataDrivenHelper.cs +++ b/Objectivity.Test.Automation.Tests.NUnit/DataDriven/DataDrivenHelper.cs @@ -33,7 +33,7 @@ namespace Objectivity.Test.Automation.Tests.NUnit.DataDriven using global::NUnit.Framework; /// - /// XML DataDriven methods for NUnit test framework + /// XML DataDriven methods for NUnit test framework More details on wiki /// public static class DataDrivenHelper { diff --git a/Objectivity.Test.Automation.Tests.NUnit/Objectivity.Test.Automation.Tests.NUnit.csproj b/Objectivity.Test.Automation.Tests.NUnit/Objectivity.Test.Automation.Tests.NUnit.csproj index a1463459b..19cb24e86 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/Objectivity.Test.Automation.Tests.NUnit.csproj +++ b/Objectivity.Test.Automation.Tests.NUnit/Objectivity.Test.Automation.Tests.NUnit.csproj @@ -9,7 +9,7 @@ Properties Objectivity.Test.Automation.Tests.NUnit Objectivity.Test.Automation.Tests.NUnit - v4.0 + v4.5 512 ..\ @@ -33,6 +33,7 @@ True False ..\fxcop-sonarqube.tests.ruleset + false pdbonly @@ -47,17 +48,18 @@ True False ..\fxcop-sonarqube.tests.ruleset + false true - ..\packages\NLog.4.3.5\lib\net40\NLog.dll + ..\packages\NLog.4.3.5\lib\net45\NLog.dll True - - ..\packages\NUnit.3.5.0\lib\net40\nunit.framework.dll + + ..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll True diff --git a/Objectivity.Test.Automation.Tests.NUnit/ProjectTestBase.cs b/Objectivity.Test.Automation.Tests.NUnit/ProjectTestBase.cs index 2f85aea35..8daee2b10 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/ProjectTestBase.cs +++ b/Objectivity.Test.Automation.Tests.NUnit/ProjectTestBase.cs @@ -28,7 +28,7 @@ namespace Objectivity.Test.Automation.Tests.NUnit using global::NUnit.Framework.Interfaces; /// - /// The base class for all tests + /// The base class for all tests More details on wiki /// public class ProjectTestBase : TestBase { diff --git a/Objectivity.Test.Automation.Tests.NUnit/packages.config b/Objectivity.Test.Automation.Tests.NUnit/packages.config index 4e5c95cb3..74cfe7895 100644 --- a/Objectivity.Test.Automation.Tests.NUnit/packages.config +++ b/Objectivity.Test.Automation.Tests.NUnit/packages.config @@ -1,14 +1,14 @@  - + - - + + - + - + \ No newline at end of file diff --git a/Objectivity.Test.Automation.Tests.PageObjects/Objectivity.Test.Automation.Tests.PageObjects.csproj b/Objectivity.Test.Automation.Tests.PageObjects/Objectivity.Test.Automation.Tests.PageObjects.csproj index 4726da856..ef99ee020 100644 --- a/Objectivity.Test.Automation.Tests.PageObjects/Objectivity.Test.Automation.Tests.PageObjects.csproj +++ b/Objectivity.Test.Automation.Tests.PageObjects/Objectivity.Test.Automation.Tests.PageObjects.csproj @@ -9,7 +9,7 @@ Properties Objectivity.Test.Automation.Tests.PageObjects Objectivity.Test.Automation.Tests.PageObjects - v4.0 + v4.5 512 ..\ @@ -33,6 +33,7 @@ True False ..\fxcop-sonarqube.tests.ruleset + false pdbonly @@ -47,25 +48,26 @@ True False ..\fxcop-sonarqube.tests.ruleset + false true - ..\packages\NLog.4.3.5\lib\net40\NLog.dll + ..\packages\NLog.4.3.5\lib\net45\NLog.dll True - - ..\packages\Selenium.WebDriver.3.0.1\lib\net40\WebDriver.dll + + ..\packages\Selenium.WebDriver.3.1.0\lib\net40\WebDriver.dll True - - ..\packages\Selenium.Support.3.0.1\lib\net40\WebDriver.Support.dll + + ..\packages\Selenium.Support.3.1.0\lib\net40\WebDriver.Support.dll True @@ -122,15 +124,15 @@ - + IEDriverServer.exe PreserveNewest - + geckodriver.exe PreserveNewest - + chromedriver.exe PreserveNewest @@ -147,11 +149,11 @@ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + +