Strukturen i CUITs

CodedUI_strukturAlle CUITs (Coded UI Tests) som bliver oprettet via Visual Studios Coded UI Test Builder indeholder som minimum disse 4 filer:

 

CodedUITest1.*

UIMap.uitest

UIMap.Designer.*

UIMap.*

 

CodedUITest1.*

CodedUITest1-filen indeholder selve testcasen [TestMethod]:

[TestMethod]
public void CodedUITestMethod1()
{
    // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.
    this.UIMap.Open_TestingIT();
}

samt initiering- [TestInitialize()], der afvikles inden selve testcase TestMethod og oprydningsmetoderne [TestCleanup()], der afvikles efter testcasen er afsluttet – uanset om testen afvikles succesfuldt eller fejler:

#region Additional test attributes
// You can use the following additional attributes as you write your tests:

////Use TestInitialize to run code before running each test 
[TestInitialize()]
public void MyTestInitialize()
{        
    // Start Browser and go to web page 'http://www.testingit.dk'
    BrowserWindow Browser = BrowserWindow.Launch(new System.Uri(this.StartBrowserParams.Url));
}

////Use TestCleanup to run code after each test has run
//[TestCleanup()]
public void MyTestCleanup()
{        
    #region Variable Declarations
    BrowserWindow uICodedUITestingITInteWindow = this.UICodedUITestingITInteWindow;
    #endregion

    // Perform Close on Browser
    uICodedUITestingITInteWindow.Close();
}

UIMap.uitest

Denne fil indeholder alle de handlinger (UI Actions), der bliver optaget via Coded UI Test Builder’en og bliver automatisk genereret af Coded UI Test Builder’en. UIMap.iutest-filen indeholder også identifikationen til de kontroller, du benytter i applikationen, der testes på: eks. en knap, en tekst eller et link.

Filen er i sin struktur en XML-fil, men når den vises i Visual Studio bliver den vist mere læsbart:

UIMap.uitest : IU Actions:

UIMAP_uitest_UI_Actions

UIMap.uitest : UI Control Map

UIMAP_uitest_UI_Control_Map

 

UIMap.designer.*

UIMap.designer.*-filen bliver dannet automatisk ud fra UIMap.iutest-filen, når du benytter Coded UI Test Builder’en, og repræsenterer kodesiden af testen. UIMap.designer-filen indeholder metoder og egenskaber (alle optaget via Coded UI Test Builder’en), der benyttes i selve testen (CodedUITest1.*).

Nedenstående er et eksempel på en metode fra UIMap.designer.*-filen:

public void Testautomatisering()
{
    #region Variable Declarations
    HtmlHyperlink uICodedUIHyperlink = this.UIJBUnitedSiderForsideWindow.UITestingITfordikvalitDocument.UIMainnavmenuCustom.UICodedUIHyperlink;
    #endregion

    // Click 'Coded UI' link
    Mouse.Click(uICodedUIHyperlink, new Point(54, 17));
}

Følgende er et eksempel på egenskab-sektionen (properties):

public HtmlHyperlink UICodedUIHyperlink
{
    get
    {
        if ((this.mUICodedUIHyperlink == null))
        {
            this.mUICodedUIHyperlink = new HtmlHyperlink(this);
            #region Search Criteria
            this.mUICodedUIHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Id] = null;
            this.mUICodedUIHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Name] = null;
            this.mUICodedUIHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Target] = null;
            this.mUICodedUIHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.InnerText] = "Coded UI";
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.AbsolutePath] = "/testautomatisering/coded-ui/";
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Title] = null;
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Href] = "http://www.testingit.dk/testautomatisering/coded-ui/";
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Class] = null;
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.ControlDefinition] = "href=\"http://www.testingit.dk/testautoma";
            this.mUICodedUIHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.TagInstance] = "9";
            this.mUICodedUIHyperlink.WindowTitles.Add("Testing IT | – fordi kvalitet tæller……");
            #endregion
        }
        return this.mUICodedUIHyperlink;
    }
}

 

UIMap.*

Som udgangspunkt indeholder UIMap.*-filen ingen ting – hverken metoder eller egenskaber.

Formålet med UIMap.*-filen er, at her kan du selv kode dine egne metoder og egenskaber, som du efterfølgende kan benytte i CodedUITest1.

UIMap.* bliver ikke påvirket af Coded UI Test Builder’en.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *