Как добавить источник данных в метод UIMap вместо метода тестирования (VS 2010 Coded UI Test) - PullRequest
2 голосов
/ 25 ноября 2010

У меня есть тестовый кодовый интерфейс 2010 года, который выполняет некоторые действия с веб-сайтом. Я могу добавить источник данных в «Метод тестирования», который зацикливает весь метод один раз на запись.

Но то, что я действительно хочу сделать, это зациклить только часть теста, которая является всего лишь одним записанным методом в UIMap.

Допустим, метод теста выглядит примерно так:

//[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestCommunities.xml", "Community", DataAccessMethod.Sequential), DeploymentItem("Tests\\WebTests\\DataSources\\TestCommunities.xml"), TestMethod]        
public void LoginCreateCommunities()
    {
        this.UIMap.LoginAdmin();
        //this.UIMap.CreateCommunityParams.UIItem0EditText = TestContext.DataRow["CommunityName"].ToString();
        this.UIMap.CreateCommunity();
        this.UIMap.LogoffClose();
    }

Это только UIMap.CreateCommunity (), который я хочу зациклить источник данных. Я не хочу, чтобы все 3 метода выполнялись для каждой записи в источнике данных, что происходит, когда я присоединяю источник данных к тестовому методу (часть, закомментированная выше).

Есть ли способ добиться того, что я пытаюсь сделать здесь?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2012

сначала вы должны определить новый UIMap в вашем классе codedUI

[CodedUITest]
public class CodedUITest1
{
    static private UIMap sharedTest = new UIMap();

    ....

    [ClassInitialize()]
    static public void ClassInit(TestContext context)
    {
        Playback.Initialize();
        try
        {
            sharedTest.RecordedStartApp();
        }
        finally
        {
            Playback.Cleanup();
        } 
    }

    [ClassCleanup()]
    static public void ClassCleanup()
    {
        Playback.Initialize();
        try
        {
            sharedTest.RecordedCloseApp();
        }
        finally
        {
            Playback.Cleanup();
        } 
    }
}
0 голосов
/ 11 февраля 2011

Вы должны использовать методы ClassInitialize и ClassCleanup.Вы помещаете его в область # Дополнительные атрибуты теста в нижней части.Так что для вас это будет выглядеть примерно так:

    #region Additional test attributes

    [ClassInitialize]
    static public void ClassInit(TestContext context)
    {
        Playback.Initialize();
        try
        {
            sharedTest.LoginAdmin();
        }
        finally
        {
            Playback.Cleanup();
        }

    }


    [ClassCleanup]
    static public void ClassCleanup()
    {
        Playback.Initialize();
        try
        {
            sharedTest.LogoffClose();
        }
        finally
        {
            Playback.Cleanup();
        }
    }

    #endregion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...