Получить Ranorex использовать один и тот же код пользователя для всех тестов

Можно ли настроить Ranorex для использования одного и того же пользовательского кода для идентификации кнопок в приложении (вместо переименования их для каждого теста), а также для набора определенного пользователем кода для любых новых тестов. Т.е. общая база кода пользователя для всех тестов?

2 ответа

Решение

Да, это возможно и очень удобно. Что вы делаете, это есть библиотека модуля кода, который наследует от ITestModuleнапример,

открытый класс GenericActionsLibrary: ITestModule

и затем в разделе кода пользователя модуля записи есть класс, унаследованный от вашей библиотеки.

открытый класс TestLoginScreen: GenericActionsLibrary

В модуле записи каждый раз, когда вы добавляете действие с кодом пользователя, раскрывающийся список заполняется методами как модуля кода пользователя, так и GenericActionsLibrary,

Ваш GenericActionsLibrary потребуется собственная статическая ссылка на хранилище.

Вот как я это сделал. Я использую Visual Basic (VB), а не C# CS в Ranorex.

В Ранорексе

  • "Добавить модуль кода" MainLibrary
  • "Добавить модуль кода" StartBrowser

Закомментируйте три блока кода в модуле кода MainLibrary:

Первый

'Implements ITestModule

Второй

        ''' <summary>
        ''' Constructs a new instance.
        ''' </summary>
'        Public Sub New()
'            ' Do not delete - a parameterless constructor is required!
'        End Sub

Третье место

        ''' <summary>
        ''' Performs the playback of actions in this module.
        ''' </summary>
        ''' <remarks>You should not call this method directly, instead pass the module
        ''' instance to the <see cref="TestModuleRunner.Run(Of ITestModule)"/> method
        ''' that will in turn invoke this method.</remarks>
'        Sub Run() Implements ITestModule.Run
'            Mouse.DefaultMoveTime = 300
'            Keyboard.DefaultKeyPressTime = 100
'            Delay.SpeedFactor = 1.0
'        End Sub

добавлять Subдля действий, которые вы хотите вызвать из других программных модулей

Public Sub OpenBrowser
    Host.Local.OpenBrowser("http://www.ranorex.com", "IE", "", False, False)
End Sub

В модуле кода вы вызываете метод, который находится в MainLibrary, Добавить Inherits заявление перед Implements затем вызовите метод из MainLibrary в ITestModule.Run кодовый блок:

   Public Class StartBrowser
        Inherits MainLibrary
        Implements ITestModule

        ''' <summary>
        ''' Constructs a new instance.
        ''' </summary>
        Public Sub New()
            ' Do not delete - a parameterless constructor is required!
        End Sub

        ''' <summary>
        ''' Performs the playback of actions in this module.
        ''' </summary>
        ''' <remarks>You should not call this method directly, instead pass the module
        ''' instance to the <see cref="TestModuleRunner.Run(Of ITestModule)"/> method
        ''' that will in turn invoke this method.</remarks>
        Sub StartBrowser_Run() Implements ITestModule.Run
            Mouse.DefaultMoveTime = 300
            Keyboard.DefaultKeyPressTime = 100
            Delay.SpeedFactor = 1.0

            'Call the public method from MainLibrary Class.
            OpenBrowser()
        End Sub

    End Class

На веб-сайте Ranorex рассказывается о создании библиотек, которые пригодятся при повторном использовании для различных проектов.

Другие вопросы по тегам