Как я могу иметь динамический URL в общем классе - PullRequest
0 голосов
/ 22 апреля 2009

Мне нужен динамический URL, желательно из тестового класса. Может ли кто-нибудь помочь мне в форматировании этого шаблона проектирования для обработки динамических ссылок из тестов. вместо постоянного 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    

Конечное пространство имен

1 Ответ

0 голосов
/ 06 мая 2009

Как бы я подошел к этому, чтобы поместить базовый URL в конфигурацию приложения, а затем создать класс URL для их построения, вот пример:

В настройках приложения

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

в файле класса

    public static Uri AppleHome

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

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