API Changes | Ranorex - Automated Software Testing Tool

API Changes

Ranorex 8.0

Removed API

Ranorex.Core.Testing

  • public sealed class TestCase
  • public sealed class TestSuiteModule
  • public sealed class ModuleGroup
  • public sealed class TestSuiteModuleGroup
  • public sealed class SetupContainer
  • public sealed class SimpleFolder
  • public sealed class TestSuiteFolder
  • public sealed class CheckableFolderNode
  • public interface ITestCase : ITestContainer

Ranorex.Core.Reporting

  • public sealed class TestCaseActivity
  • public interface ITestCaseActivity : IActivity
  • public interface ITestIterationActivity
  • IDictionary DataRow { get; }
  • public enum TestIterationType
  • public class TestIterationActivity

TestReport

  • public static ITestCaseActivity CurrentTestCaseActivity { get; }
  • public static ITestFolderActivity CurrentTestFolderActivity { get; }
  • public static void BeginTestIteration(int index)
  • public static void EndTestIteration(TestResult result)
  • public static void EndTestIteration()

ITestSuite

  • ITestCase GetTestCase(string name)

TestCaseNode

  • public static ITestCase Current

TestSuite

  • public ITestCase GetTestCase(string name)

TestSuiteRunConfig

  • public void AddTestCase(TestCaseNode testCaseNode)
  • public void AddTestCase(CaseInsensitiveString testCaseId)
  • public SortedList TestCases
  • public bool ContainsActiveTestCase(TestCaseNode testCaseNode)
  • public IList GetActiveTestCases()

Ranorex.Core.FastXml (moved to Ranorex.Libs.Xml namespace in 6.0)

  • public enum XmlNodeType
  • public interface IXmlPrintable
  • public class XmlNode
  • public class XmlPrinter
  • public class XmlDoc
  • public sealed class HttpUtil

Geometry

  • public static Point CalculateEnsureVisibleScrollPixels(Rectangle item)

AttributeDescriptor

  • public int Weight { get; }

Obsolete API

TestReport

  • public static void BeginTestCase(string testContainerName)
  • public static void BeginTestCase(string testContainerName, string testCaseComment)
  • public static void EndTestCase(TestResult result)
  • public static void EndTestCase()
  • public static void BeginTestCaseSetup()
  • public static void EndTestCaseSetup(TestResult result)
  • public static void BeginTestCaseTeardown()
  • public static void EndTestCaseTeardown()
  • public static void EndTestCaseTeardown(TestResult result)

Ranorex 7.0

Ranorex.Core.Testing.TestSuiteConfig

Build Messages:

  • ‘Ranorex.Core.Testing.TestSuiteRunConfig.AddTestCase(Ranorex.Core.Testing.TestCaseNode)’ is obsolete: ‘Please use the AddTestContainer instead. AddTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.TestSuiteRunConfig.TestCases’ is obsolete: ‘Please use the TestContainers instead. The TestCases is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.TestSuiteRunConfig.ContainsActiveTestCase(Ranorex.Core.Testing.TestCaseNode)’ is obsolete: ‘Please use the ContainsActiveTestContainer instead. ContainsActiveTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.TestSuiteRunConfig.GetActiveTestCases()’ is obsolete: ‘Please use the GetActiveTestContainers instead. GetActiveTestCases is here for backwards-compatibility and will be removed in the future.’ (CS0619)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Testing.TestSuiteRunConfig.AddTestCase Core.Testing.TestSuiteRunConfig.AddTestContainer
Core.Testing.TestSuiteRunConfig.TestCases Core.Testing.TestSuiteRunConfig.TestContainers
Core.Testing.TestSuiteRunConfig.ContainsActiveTestCase Core.Testing.TestSuiteRunConfig.ContainsActiveTestContainer
Core.Testing.TestSuiteRunConfig.GetActiveTestCases Core.Testing.TestSuiteRunConfig.GetActiveTestContainers

 

Ranorex.Core.Testing

Build Messages:

  • ‘Ranorex.Core.Testing.CheckableFolderNode’ is obsolete: ‘Please use new SmartFolderNode instead. The CheckableFolderNode class is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.ITestCase’ is obsolete: ‘Please use the ITestContainer class instead. The ITestCase interface is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.ITestSuite.GetTestCase(string)’ is obsolete: ‘Please use the GetTestContainer class instead. GetTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Testing.TestSuite.GetTestCase(string)’ is obsolete: ‘Please use the GetTestContainer instead. GetTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0619)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Testing.CheckableFolderNode Core.Testing.SmartFolderNode
Core.Testing.ITestCase Core.Testing.ITestContainer
Core.Testing.ITestSuite.GetTestCase Core.Testing.ITestSuite.GetTestContainer
Core.Testing.TestSuite.GetTestCase Core.Testing.TestSuite.GetTestContainer

 

Ranorex.Core.Reporting.TestReport

Build Messages:

  • ‘Ranorex.Core.Reporting.TestReport.CurrentTestCaseActivity’ is obsolete: ‘Please use the TestReport.CurrentTestContainerActivity instead. CurrentTestCaseActivity is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.TestReport.CurrentTestFolderActivity’ is obsolete: ‘Please use the CurrentTestContainerActivity or CurrentModuleGroupFolderActivity instead. CurrentTestFolderActivity is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.TestReport.BeginTestCase(string)’ is obsolete: ‘Please use the BeginTestCaseContainer or BeginSmartFolderContainer instead. BeginTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.EndTestCase(Ranorex.Core.Testing.TestResult)’ is obsolete: ‘Please use the EndTestCaseContainer instead. EndTestCase is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.BeginTestCaseSetup()’ is obsolete: ‘Please use the BeginTestContainerSetup instead. BeginTestCaseSetup is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.EndTestCaseSetup()’ is obsolete: ‘Please use the EndTestContainerSetup instead. EndTestCaseSetup is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.BeginTestCaseTeardown()’ is obsolete: ‘Please use the BeginTestContainerTeardown instead. BeginTestCaseTeardown is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.EndTestCaseTeardown()’ is obsolete: ‘Please use the EndTestContainerTeardown instead. EndTestCaseTeardown is here for backwards-compatibility and will be removed in the future.’ (CS0618)
  • ‘Ranorex.Core.Reporting.TestReport.BeginTestIteration(int)’ is obsolete: ‘Please use the BeginTestEntryContainer instead. BeginTestIteration is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.TestReport.EndTestIteration(Ranorex.Core.Testing.TestResult)’ is obsolete: ‘Please use the EndTestEntryContainer instead. EndTestIteration is here for backwards-compatibility and will be removed in the future.’ (CS0619)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Reporting.TestReport.CurrentTestCaseActivity Core.Reporting.TestReport.CurrentTestContainerActivity
Core.Reporting.TestReport.CurrentTestFolderActivity Core.Reporting.TestReport.CurrentTestContainerActivity or CurrentModuleGroupFolderActivity
Core.Reporting.TestReport.BeginTestCase Core.Reporting.TestReport.BeginTestCaseContainer or BeginSmartFolderContainer
Core.Reporting.TestReport.EndTestCase Core.Reporting.TestReport.EndTestCaseContainer
Core.Reporting.TestReport.BeginTestCaseSetup Core.Reporting.TestReport.BeginTestContainerSetup
Core.Reporting.TestReport.EndTestCaseSetup Core.Reporting.TestReport.EndTestContainerSetup
Core.Reporting.TestReport.BeginTestCaseTeardown Core.Reporting.TestReport.BeginTestContainerTeardown
Core.Reporting.TestReport.EndTestCaseTeardown Core.Reporting.TestReport.EndTestContainerTeardown
Core.Reporting.TestReport.BeginTestIteration Core.Reporting.TestReport.BeginTestEntryContainer
Core.Reporting.TestReport.EndTestIteration Core.Reporting.TestReport.EndTestEntryContainer

 

Ranorex.Core.Reporting.ITestActivity

Build Messages:

  • ‘Ranorex.Core.Reporting.ITestIterationActivity’ is obsolete: ‘Please use ITestIterableActivity instead. ITestIterationActivity is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.ITestContainerActivity.IterationCount’ is obsolete: ‘Please use RunIterationCount or DataIterationCount instead. IterationCount is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.ITestContainerActivity.TestCaseName’ is obsolete: ‘Please use ContainerName instead. TestCaseName is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.ITestIterableActivity.DataRow’ is obsolete: ‘Please use Data instead. DataRow is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.ITestIterationActivity’ is obsolete: ‘Please use ITestIterableActivity instead. ITestIterationActivity is here for backwards-compatibility and will be removed in the future.’ (CS0619)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Reporting.ITestCaseActivity Core.Reporting.IContainerActivity
Core.Reporting.ITestContainerActivity.IterationCount Core.Reporting.ITestContainerActivity.RunIterationCount or DataIterationCount
Core.Reporting.ITestContainerActivity.TestCaseName Core.Reporting.ITestContainerActivity.ContainerName
Core.Reporting.ITestIterableActivity.DataRow Core.Reporting.ITestIterableActivity.Data instead
Core.Reporting.ITestIterationActivity Core.Reporting.ITestIterableActivity

 

Ranorex.Core.Reporting.TestActivity

Build Messages:

  • ‘Ranorex.Core.Reporting.TestContainerActivity.TestCaseName’ is obsolete: ‘Please use ContainerName instead. TestCaseName is here for backwards-compatibility and will be removed in the future.’ (CS0619)
  • ‘Ranorex.Core.Reporting.TestContainerActivity.IterationCount’ is obsolete: ‘Please use RunIterationCount or DataIterationCount instead. IterationCount is here for backwards-compatibility and will be removed in the future.’
  • ‘Ranorex.Core.Reporting.TestContainerActivity’ does not contain a definition for ‘DataRow’ (CS0117)
  • ‘Ranorex.Core.Reporting.TestIterationActivity’ is obsolete: ‘This type has been removed and has no replacement. Activities that implement ITestIterableActivity are the closest related replacement.  ‘ (CS0618)
  • ‘Ranorex.Core.Reporting.TestEntryContainerActivity’ does not contain a definition for ‘DataRow’ (CS0117)
  • ‘Ranorex.Core.Reporting.TestModuleActivity’ does not contain a definition for ‘DataRow’ (CS0117)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Reporting.TestCaseActivity Core.Reporting.TestContainerActivity
Core.Reporting.TestContainerActivity.TestCaseName Core.Reporting.TestContainerActivity.ContainerName
Core.Reporting.TestContainerActivity.IterationCount Core.Reporting.TestContainerActivity.RunIterationCount or DataIterationCount
Core.Reporting.TestModuleRepeatContainerActivity Core.Reporting.TestEntryIterationContainerActivity
Core.Reporting.TestContainerActivity.DataRow Cast to ITestIterableActivity and use Data instead of DataRow
Core.Reporting.TestEntryContainerActivity Cast to ITestIterableActivity and use Data instead of DataRow
Core.Reporting.TestModuleActivity Cast to ITestIterableActivity and use Data instead of DataRow
Core.Reporting.TestIterationActivity This type has been removed and has no replacement

 

Ranorex.Core.Reporting.TestIterationType

Build Messages:

  • ‘Ranorex.Core.Reporting.TestIterationType’ is obsolete: ‘This type has been removed and has no replacement’ (CS0618)
Ranorex 6.2 and earlier: Ranorex 7.0:
Core.Reporting.TestIterationType This type has been removed and has no replacement

Ranorex 6.1

Ranorex.Core.Reporting.TestReport.TestActivity

Build Messages:

  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestCaseActivity’ to ‘Ranorex.Core.Reporting.TestCaseActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestFolderActivity’ to ‘Ranorex.Core.Reporting.TestFolderActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestIterationActivity’ to ‘Ranorex.Core.Reporting.TestIterationActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestModuleActivity’ to ‘Ranorex.Core.Reporting.TestModuleActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestModuleGroupActivity’ to ‘Ranorex.Core.Reporting.TestModuleGroupActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
  • Cannot implicitly convert type ‘Ranorex.Core.Reporting.ITestSuiteActivity’ to ‘Ranorex.Core.Reporting.TestSuiteActivity’. An explicit conversion exists (are you missing a cast?) (CS0266)
Ranorex 6.0 and earlier: Ranorex 6.1:
Core.Reporting.TestCaseActivity tca = Core.Reporting.TestReport.CurrentTestCaseActivity; Core.Reporting.ITestCaseActivity tca = Core.Reporting.TestReport.CurrentTestCaseActivity;
Core.Reporting.TestFolderActivity tfa = Core.Reporting.TestReport.CurrentTestFolderActivity; Core.Reporting.ITestFolderActivity tfa = Core.Reporting.TestReport.CurrentTestFolderActivity;
Core.Reporting.TestIterationActivity tia = Core.Reporting.TestReport.CurrentTestIterationActivity; Core.Reporting.ITestIterationActivity tia = Core.Reporting.TestReport.CurrentTestIterationActivity;
Core.Reporting.TestModuleActivity tma = Core.Reporting.TestReport.CurrentTestModuleActivity; Core.Reporting.ITestModuleActivity tma = Core.Reporting.TestReport.CurrentTestModuleActivity;
Core.Reporting.TestModuleGroupActivity tmga = Core.Reporting.TestReport.CurrentTestModuleGroupActivity; Core.Reporting.ITestModuleGroupActivity tmga = Core.Reporting.TestReport.CurrentTestModuleGroupActivity;
Core.Reporting.TestSuiteActivity tsa = Core.Reporting.TestReport.CurrentTestSuiteActivity; Core.Reporting.ITestSuiteActivity tsa = Core.Reporting.TestReport.CurrentTestSuiteActivity;

General note:  API for activities now returns the interface instead of the concrete type.

Ranorex 6.0

TestSuiteModule.Current

Build Message:

  • ‘Ranorex.Core.Testing.TestSuiteModule’ is obsolete: ‘Please use the TestModuleLeaf class instead. The TestSuiteModule class is here for backwards-compatibility and will be removed in the future.’ (CS0619)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
TestSuiteModule curModule = (TestSuiteModule)
TestSuiteModule.Current;
TestModuleLeaf curModule = (TestModuleLeaf)
TestModuleLeaf.Current;

 

ReportCompress

Build Message:

  • ‘Ranorex.Core.Testing.TestSuiteModule’ is obsolete: ‘Please use the TestModuleLeaf class instead. The TestSuiteModule class is here for backwards-compatibility and will be removed in the future.’ (CS0619)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
TestSuite a = (TestSuite) TestSuite.Current;
var isCompressedReport = a.ReportCompress;
TestSuite a = (TestSuite) TestSuite.Current;
var isCompressedReport = a.ReportSettings.ReportCompress;

 

ReportSettings

Build Message:

  • ‘Ranorex.Core.Testing.TestSuite’ does not contain a definition for ‘XXX’ and no extension method ‘XXX’ accepting a first argument of type ‘Ranorex.Core.Testing.TestSuite’ could be found (are you missing a using directive or an assembly reference?) (CS1061)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
EnableTracingScreenshots
PlaceScreenshotsInFolder
ReportCompress
ReportDirectoryName
ReportEnabled
ReportFormatString
ReportTemplateFolder
ReportTime
ReportWriteInterval
ReportWriteIntervalSeconds
ReportTracingScreenshotMode
ReportTracingScreenshotQuality
ReportSettings.EnableTracingScreenshots
ReportSettings.PlaceScreenshotsInFolder
ReportSettings.ReportCompress
ReportSettings.ReportDirectoryName
ReportSettings.ReportEnabled
ReportSettings.ReportFormatString
ReportSettings.ReportTemplateFolder
ReportSettings.ReportTime
ReportSettings.ReportWriteInterval
ReportSettings.ReportWriteIntervalSeconds
ReportSettings.ReportTracingScreenshotMode
ReportSettings.ReportTracingScreenshotQuality  

 

DataConnectorManager

Build Message:

  • ‘Ranorex.Core.Testing.TestSuite’ does not contain a definition for ‘XXX’ and no extension method ‘XXX’ accepting a first argument of type ‘Ranorex.Core.Testing.TestSuite’ could be found (are you missing a using directive or an assembly reference?) (CS1061)
Ranorex 5.4.x and earlier: Ranorex 6.0:
AddDataconnectorCache
ClearDataConnectors
DataConnectorCaches
DataConnectors
GetDataCacheByConnectorId
GetDataCacheByConnectorName
GetDataConnectorNameById
MakeUniqueDataConnectorName
RemoveDataConnectorCache
UsedDataConnectorFiles
DataConnectorManager.AddDataconnectorCache
DataConnectorManager.ClearDataConnectors
DataConnectorManager.DataConnectorCaches
DataConnectorManager.DataConnectors
DataConnectorManager.GetDataCacheByConnectorId
DataConnectorManager.GetDataCacheByConnectorName
DataConnectorManager.GetDataConnectorNameById
DataConnectorManager.MakeUniqueDataConnectorName
DataConnectorManager.RemoveDataConnectorCache
DataConnectorManager.UsedDataConnectorFiles

 

Ranorex.Core.Testing.TestCase

Build Message:

  • ‘Ranorex.Core.Testing.TestCase’ is obsolete: ‘Please use the TestCaseNode class instead. The TestCase class is here for backwards-compatibility and will be removed in the future.’ (CS0619)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
Ranorex.Core.Testing.TestCase Ranorex.Core.Testing.TestCaseNode

 

TestSuiteEntry.GetXMLNode

Build Message:

  • ”Ranorex.Core.Testing.TestSuiteEntry’ does not contain a definition for ‘GetXMLNode’ (CS0117)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
Ranorex.Core.Testing.TestSuiteEntry.GetXMLNode() Ranorex 6.0 does not support serialization of individual test suite nodes anymore. There is, however, a ModuleGroupTable.ToXmlDoc(), and a TestSuite.ToXmlDoc() function which allow the serialization of the entire tree.

 

TestSuiteEntry.Run

Build Message:

  • ‘Ranorex.Core.Testing.TestSuiteEntry’ does not contain a definition for ‘Run’ and no extension method ‘Run’ accepting a first argument of type ‘Ranorex.Core.Testing.TestSuiteEntry’ could be found (are you missing a using directive or an assembly reference?) (CS1061)

 

Ranorex 5.4.x and earlier: Ranorex 6.0:
Ranorex.Core.Testing.TestSuiteEntry.Run() TestSuiteEntry foo = (TestSuiteEntry)
TestSuite.Current.GetTestCase(“TestCaseToRun”);
if (foo is IRunnable)
{
((IRunnable)foo).Run
(((TestCaseNode)foo).DataContext, false );
}