views:

84

answers:

1

I need to have a dynamic URL preferably from a Test Class. Can any one help me in formatting this design pattern to handle dynamic links from tests. instead of a constant HomePageURL.

Namespace TestDesign
Public Class HomePage
    Inherits IE
    Public Const HomePageURL As String = "testlink"

    Public Sub New()
        MyBase.New(HomePageURL)
    End Sub

    Public Sub New(ByVal instance As IE)
        MyBase.New(instance.InternetExplorer)
    End Sub

    Public ReadOnly Property UserIDField() As TextField
        Get
            Return TextField(Find.ById(New Regex("txtuserName")))
        End Get
    End Property
    Public ReadOnly Property PasswordField() As TextField
        Get
            Return TextField(Find.ById(New Regex("txtPassword")))
        End Get
    End Property
    Public ReadOnly Property ContinueButton() As Button
        Get
            Return Button(Find.ById(New Regex("Submit")))
        End Get
    End Property
    Public ReadOnly Property LogoutLink() As Link
        Get
            Return Link(Find.ById(New Regex("lnkLogout")))
        End Get
    End Property

    Friend Sub Login(ByVal username As String, ByVal password As String)
        UserIDField.TypeText(username)
        PasswordField.TypeText(password)
        ContinueButton.Click()
    End Sub

    Friend Sub Logout()
        LogoutLink.Click()
    End Sub

End Class

End Namespace

A: 

How I would approach this is to put the base url into the applicaiton config and then build a URLs class to construct them here is an example:

In app config

<appSettings> <add key="TestServerUri" value="http://www.apple.com"/&gt; </appSettings>

in class file

    public static Uri AppleHome

    {
        get
        {
            return new Uri(ConfigurationManager.AppSettings["TestServerUri"]);
        }
    }

    public static Uri Iphone = new Uri(AppleHome, @"/iphone/");
Bruce McLeod