How to Use Elements From Repository In A Utility Class
I would like to use elements recorded in the Elements repository in my standalone code class file.
Solution
We do not recommend using elements from the repository in a standalone class file. If there is a specific scenario you could not avoid you could refer to the example below. You would need to add references to ArtOfTest.WebAii.Core.dll and ArtOfTest.WebAii.Design.dll and include using statements for these in the code file. The Utility class inherits the BaseWebAiiTest and requires definition for region [Dynamic Pages Reference].
using ArtOfTest.WebAii.Core;
using ArtOfTest.WebAii.Design;
namespace SomeTestProject
{
public class Utility : BaseWebAiiTest
{
#region [ Dynamic Pages Reference ]
private Pages _pages;
public Pages Pages
{
get
{
if (_pages == null)
{
_pages = new Pages(Manager.Current);
}
return _pages;
}
}
#endregion
public void DoSomething()
{
Pages.Bing.SbFormQSearch.Text = "Cat" ;
Pages.Bing.SbFormGoSubmit.Click();
}
}
}
Imports ArtOfTest.WebAii.Core
Imports ArtOfTest.WebAii.Design
Namespace SomeTestProject
Public Class Utility
Inherits BaseWebAiiTest
#Region "[ Dynamic Pages Reference ]"
Private _pages As Pages
Public ReadOnly Property Pages() As Pages
Get
If _pages Is Nothing Then
_pages = New Pages(Manager.Current)
End If
Return _pages
End Get
End Property
#End Region
Public Sub DoSomething()
Pages.Bing.SbFormQSearch.Text = "Cat"
Pages.Bing.SbFormGoSubmit.Click()
End Sub
End Class
End Namespace
In a coded step you would need to create an instance of this class in order to use its methods as shown below:
// create an instance of the class
var MyClass = new Utility();
// call a method of this class
MyClass.DoSomething();
// create an instance of the class
Dim [MyClass] = New Utility()
// call a method of this class
[MyClass].DoSomething()