Hej!
Jag vill börja med att säga att kodandet är väldigt nytt för mig så jag förstår inte allt för avancerade svar men jag försöker lära mig och bli bättre. Därmed vill jag i förhand be om ursäkt om jag använder något ordval fel nedan, du får gärna rätta mig om så är. Det jag kommer fråga om nedan är säkert superenkelt för den kunnige...
Hur som så håller jag på med att skapa några automatiska testfall (via Coded UI i Visual Studio) för webbGUItestning.
Jag har gjort över 40st testfall och ska in med säkert 60st till. I början av varje testfall har jag denna kod för att starta webbläsaren:
VS projektet är uppdelat på 3 sätt kan man säga:
* 1 fil innehåller alla objekt (t.ex knappar, länkar)
* 1 fil innehåller alla funktioner (t.ex klick, droplistväljare)
* 1 fil där testfallet skrivs (varje testfall är en egen fil givetvis)
Objekten lägger jag in såhär:
Funktionerna lägger jag in såhär:
I själva testfallet skriver jag sedan såhär för att använda funktion och objekt:
Det jag skulle vilja göra är att flytta browserLaunchern till funktionsfilen så att jag kan anropa den i början av testfallet lika enkelt precis som jag gör när jag använder t.ex ClickButton funktionen som ovan exempel, och dessutom endast ha ett ställe att ändra testURL på vid behov.
(Det börjar kännas lite okontrollerbart att köra "replace all" på över 40 filer när jag vill ändra testURL.)
Jag tänker mig att man borde kunna göra något liknande i funktionsfilen:
Och sedan använda den i början av testfallet genom något så enkelt som t.ex:
Men det jag inte förstår och som ställer till det är det här (browser) som ligger på objekten i objektfilen samt efter objekten i testfallen.
Jag är som sagt nybörjare på detta men är väldigt tacksam för en hint eller exempel på hur man kan göra om detta för att få till mitt önskemål...
Jag vill börja med att säga att kodandet är väldigt nytt för mig så jag förstår inte allt för avancerade svar men jag försöker lära mig och bli bättre. Därmed vill jag i förhand be om ursäkt om jag använder något ordval fel nedan, du får gärna rätta mig om så är. Det jag kommer fråga om nedan är säkert superenkelt för den kunnige...
Hur som så håller jag på med att skapa några automatiska testfall (via Coded UI i Visual Studio) för webbGUItestning.
Jag har gjort över 40st testfall och ska in med säkert 60st till. I början av varje testfall har jag denna kod för att starta webbläsaren:
Kod:
var Browser = BrowserWindow.Launch("http://testsite1.se");
Browser.Maximized = true;
VS projektet är uppdelat på 3 sätt kan man säga:
* 1 fil innehåller alla objekt (t.ex knappar, länkar)
* 1 fil innehåller alla funktioner (t.ex klick, droplistväljare)
* 1 fil där testfallet skrivs (varje testfall är en egen fil givetvis)
Objekten lägger jag in såhär:
Kod:
public static HtmlInputButton EnKnapp(UITestControl browser)
{
HtmlInputButton EnKnapp = new HtmlInputButton(browser);
EnKnapp.SearchProperties.Add(HtmlInputButton.PropertyNames.Id, "KnappId123");
return EnKnapp;
}
Funktionerna lägger jag in såhär:
Kod:
public static void ClickButton(TestContext TestContext, HtmlInputButton obj)
{
Mouse.Click(obj);
}
I själva testfallet skriver jag sedan såhär för att använda funktion och objekt:
Kod:
Funktion.ClickButton(TestContext, Objekt.EnKnapp(Browser));
Det jag skulle vilja göra är att flytta browserLaunchern till funktionsfilen så att jag kan anropa den i början av testfallet lika enkelt precis som jag gör när jag använder t.ex ClickButton funktionen som ovan exempel, och dessutom endast ha ett ställe att ändra testURL på vid behov.
(Det börjar kännas lite okontrollerbart att köra "replace all" på över 40 filer när jag vill ändra testURL.)
Jag tänker mig att man borde kunna göra något liknande i funktionsfilen:
Kod:
public static void LaunchBrowser()
{
BrowserWindow.Launch("http://testsite1.se");
Browser.Maximized = true;
}
Och sedan använda den i början av testfallet genom något så enkelt som t.ex:
Kod:
Funktion.LaunchBrowser();
Men det jag inte förstår och som ställer till det är det här (browser) som ligger på objekten i objektfilen samt efter objekten i testfallen.
Jag är som sagt nybörjare på detta men är väldigt tacksam för en hint eller exempel på hur man kan göra om detta för att få till mitt önskemål...