testing asp.net mvc 2 music store · semester genap tahun akademik 2009 ... use case add album to...

74
VERIFIKASI DAN VALIDASI PERANGKAT LUNAK SEMESTER GENAP TAHUN AKADEMIK 2009 2010 Testing ASP.NET MVC 2 Visual Studio 2010 Music Store Oleh: JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI INSTITUT TEKNOLOGI SEPULUH NOPEMBER 2010 Alexander Rahardjo (5107100117) Fajar Dwi Nugroho (5107100137)

Upload: vuongbao

Post on 19-Mar-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

VERIFIKASI DAN VALIDASI PERANGKAT LUNAK

SEMESTER GENAP TAHUN AKADEMIK 2009 – 2010

Testing

ASP.NET MVC 2 – Visual Studio 2010

Music Store

Oleh:

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

INSTITUT TEKNOLOGI SEPULUH NOPEMBER

2010

Alexander Rahardjo (5107100117)

Fajar Dwi Nugroho (5107100137)

Black Box Testing

Test Case Use Case Diagram : Music Store

1. Use Case View Album by Genre

No Skenario Test Case Hasil yang diharapkan

Status

1. Berhasil melakukan browse Album

User action memilih Genre “Rock”

Sistem me-redirect ke halaman Browse berisi deskripsi Genre dan menampilkan seluruh Album yang bersangkutan

Pass

2. Use Case View Detail Album

No Skenario Test Case Hasil yang diharapkan

Status

1. Berhasil melihat Detail Album

User memilih Album “Greatest Hits”

Sistem me-redirect ke halaman Detail dari Album

Pass

3. Use Case Add Album to Cart

No Skenario Test Case Hasil yang diharapkan

Status

1. Berhasil menambahkan Album ke Cart

User memilih “Add to cart”

Sistem me-redirect halaman Cart dan menampilkan informasi cart

Pass

4. Use Case Remove Album from Cart

No Skenario Test Case Hasil yang diharapkan

Status

1. Berhasil Remove Album dari cart dengan jumlah Album masing-masing nama 1 buah

User menghapus Album yang diinginkan “Remove from cart”

Sistem menghapus Album dari daftar cart

Pass

2 Berhasil Remove Album dari cart dengan jumlah Album lebih dari 1 buah

User menghapus Album yang diinginkan “Remove from cart”

Sistem mengurangi jumlah Album yang dihapus

Failed

5. Use Case Register

No Skenario Test Case Hasil yang diharapkan Status

1. Register Berhasil Username : fajar000

Sistem berhasil melakukan request

Pass

Email : address:[email protected] Password: fajar123 Confirm Password: fajar123

registrasi dan di-redirect ke halamanam Index

2. Tidak mengisi seluruh field

Username :- Email : address:[email protected] Password: fajar123 Confirm Password: fajar123

Sistem error dan memberikan pesan “The User name field is

required”

Pass

3. Password dan Retype password tidak sama

Username : fajar000 Email : address:[email protected] Password: fajar123 Confirm Password: 123fajar

Sistem error dan memberikan pesan “The password and

confirmation password

do not match”

Pass

6. Use Case Checkout

No Skenario Test Case Hasil yang diharapkan

Status

1. User mengisi lengkap informasi, Check out berhasil

First Nama:lutfi Last Name:rizal Address:blok-u69 City:surabaya State:surabaya Postal Code:12345 Country:indonesia Phone:0987654321 EmailAddress: [email protected] Promo Code:FREE

Sistem berhasil menyimpan informasi user dan memberikan pesan “Thanks for your

order! Your order

number is: 476”

Pass

2. Gagal karena user tidak mengisi lengkap informasi

First Nama:- Last Name: -Address:- City:- State:- Postal Code:- Country:- Phone:- EmailAddress:- Promo Code:FREE

Sistem tidak berhasil menyimpan dan memberikan pesan “Field required”

Pass

3. Gagal karena user tidak mengisikan

First Nama:lutfi Last Name:rizal

Sistem tidak menyimpan informasi

Pass

Promo Code Address:blok-u69 City:surabaya State:surabaya Postal Code:12345 Country:indonesia Phone:0987654321 EmailAddress: [email protected] Promo Code:-

7. Use Case Manage Albums

No Skenario Test Case Hasil yang diharapkan

Status

1. Penambahan albums berhasil

Title:I’m Sorry Sir Price: 98 Artist:AC/DC Genre:Rock

Penambahan Album berhasil dan di-redirect ke halaman Index

Pass

2. Saat penambahan informasi yang diwajibkan tidak lengkap

Title:- Price: 98 Artist:AC/DC Genre:Rock

Sistem tidak menambahkan album dan memberikan pesan” An Album Title is required”

Pass

3. User melakukan fungsi remove dan berhasil

User memilih album yang akan dihapu dengan menekan “Delete”

Sistem memberikan konfirmasi dan bila berhasil memberikan pesan“Your album was successfully deleted”

Pass

4. User melakukan fungsi edit dan berhasil

User merubah data Album “Greatest Hits” sbb: Title:Musik TOP

Sistem berhasil menyimpan perubahan yang dilakukan

Pass

Unit Testing (Visual Studio 2010 Unit Test)

Test Case

Sequence Diagram : Music Store

1. Sequence View Albums by Genre

Test Skenario:

No Skenario Method Class Test Case

Hasil Diharapkan

Status

1. Berhasil melakukan browse Album

ActionResult Browse(string genre)

StoreController.cs genre : Rock

Sistem me-redirect ke halaman Album sesuai Genre yang dipilih

Pass

Code Test: StoreControllerTest.cs [TestMethod()] public void BrowseTest() { string genre = "Rock"; StoreController target = new StoreController(); target.SetFakeControllerContext(); target.storeDB = new MusicStoreEntities();

// Execute ViewResult result = target.Browse(genre) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Browse", viewData["Title"]); Assert.AreEqual(1, viewData.Count); }

Hasil Test: View Album by Genre

2. Sequence View Detail Album

Test Skenario:

No Skenario Method Class Test Case Hasil Diharapkan

Status

1 Berhasil melihat Detail Album

ActionResult Details(int id)

StoreController.cs User action memilih Album “Greatest Hits” (id = 388)

Sistem me-redirect ke halaman Detail dari Album

Pass

Code Test: StoreControllerTest.cs [TestMethod()] public void DetailsTest() { int id = 0; StoreController target = new StoreController(); target.SetFakeControllerContext(); target.storeDB = new MusicStoreEntities(); // Execute ViewResult result = target.Details(id) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Details", viewData["Title"]); Assert.AreEqual(1, viewData.Count);

}

Hasil Test: View Detail Album

3. Sequence Add Album to Cart

Test Skenario:

No Skenario Method Class Test Case

Hasil Diharapkan

Status

1 Berhasil menambahkan Album ke Cart

ActionResult AddToCart(int id)

ShoppingCartController.cs User Action memilih “Add to cart”

Sistem me-redirect halaman Cart dan menampilkan informasi cart

Failed

Code Test: ShoppingCartControllerTest.cs [TestMethod()] public void AddToCartTest() { ShoppingCartController target = new ShoppingCartController(); target.SetFakeControllerContext(); int id = 388;

// Execute ActionResult result = target.AddToCart(id); // Verify Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); }

Hasil Test Add Album To Cart

4. Sequence Remove Album from Cart

Test Skenario:

No Skenario Method Class Test Case Hasil Diharapkan

Status

1 Berhasil Remove Album dari cart dengan jumlah Album masing-masing nama 1 buah

ActionResult RemoveFromCart(int id)

ShoppingCartController.cs User Action menghapus Album yang diinginkan “Remove from cart”

Sistem menghapus Album dari daftar cart

Failed

2 Berhasil Remove Album dari cart dengan jumlah Album lebih dari 1 buah

ActionResult RemoveFromCart(int id)

ShoppingCartController.cs User Action menghapus Album yang diinginkan “Remove from cart”

Sistem mengurangi jumlah Album yang dihapus

Failed

Code Test: ShoppingCartControllerTest.cs [TestMethod()] public void RemoveFromCartTest() { ShoppingCartController target = new ShoppingCartController(); target.SetFakeControllerContext(); int id = 0; // Execute ViewResult result = target.RemoveFromCart(id) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("RemoveFromCart", viewData["Title"]); Assert.AreEqual(1, viewData.Count); }

Hasil Test: RemoveAlbum from Cart

5. Sequence Register

Test Skenario:

No Skenario Method Class Test Case Hasil Diharapkan

Status

1 Register Berhasil

ActionResult Register (RegisterModel model)

AccountController.cs Username : someUser Email address: goodEmail Password: goodPassword Confirm Password: goodPassword

Sistem berhasil melakukan request registrasi dan di-redirect ke halamanam Index

Pass

2 Tidak mengisi seluruh field

ActionResult Register (RegisterModel model)

AccountController.cs Username :- Email address: [email protected] Password: fajar123 Confirm Password: fajar123

Sistem error dan memberikan pesan “The

User name field is

required”

Pass

3 Memasukkan username yang telah terdaftar

ActionResult Register (RegisterModel model)

AccountController.cs Username : duplicateUser Email address: goodEmail Password: goodPassword Confirm Password: goodPassword

Sistem error dan memberikan pesan “Username

already exists. Please enter a different user name.

Pass

Code Test: AccountControllerTest.cs /// <summary> ///A test for Register ///</summary> // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example, // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server, // whether you are testing a page, web service, or a WCF service. [TestMethod()] //[HostType("ASP.NET")] //[AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\fp\\Source\\MvcMusicStore", "/")] //[UrlToTest("http://localhost:1397/")] public void RegisterTest_GetReturnView() { //AccountController target = new AccountController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.Register(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method."); // Arrange AccountController controller = GetAccountController(); // Act ActionResult result = controller.Register(); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); } [TestMethod()] public void RegisterTest_GetReturnView2() { //AccountController target = new AccountController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.Register(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method."); // Setup var formsAuthenticationMock = new Mock<IFormsAuthenticationService>(); var membershipProviderMock = new Mock<IMembershipService>(); AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object); target.SetFakeControllerContext(); // Execute ViewResult result = target.Register() as ViewResult;

// Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("RegisterGet", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod] public void Register_Post_ReturnsRedirectOnSuccess() { // Arrange AccountController controller = GetAccountController(); RegisterModel model = new RegisterModel() { UserName = "someUser", Email = "goodEmail", Password = "goodPassword", ConfirmPassword = "goodPassword" }; // Act ActionResult result = controller.Register(model); // Assert Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); RedirectToRouteResult redirectResult = (RedirectToRouteResult)result; Assert.AreEqual("Home", redirectResult.RouteValues["controller"]); Assert.AreEqual("Index", redirectResult.RouteValues["action"]); } [TestMethod] public void Register_Post_IfInvalidInput() { // Arrange AccountController controller = GetAccountController(); RegisterModel model = new RegisterModel() { UserName = "", Email = "goodEmail", Password = "goodPassword", ConfirmPassword = "goodPassword" }; // Act ActionResult result = controller.Register(model); // Assert Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); RedirectToRouteResult redirectResult = (RedirectToRouteResult)result; Assert.AreEqual("Home", redirectResult.RouteValues["controller"]); Assert.AreEqual("Index", redirectResult.RouteValues["action"]); } [TestMethod] public void Register_Post_ReturnsViewIfRegistrationFails() { // Arrange AccountController controller = GetAccountController(); RegisterModel model = new RegisterModel() { UserName = "duplicateUser", Email = "goodEmail", Password = "goodPassword",

ConfirmPassword = "goodPassword" }; // Act ActionResult result = controller.Register(model); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.AreEqual(model, viewResult.ViewData.Model); Assert.AreEqual("Username already exists. Please enter a different user name.", controller.ModelState[""].Errors[0].ErrorMessage); Assert.AreEqual(10, viewResult.ViewData["PasswordLength"]); } [TestMethod] public void Register_Post_ReturnsViewIfModelStateIsInvalid() { // Arrange AccountController controller = GetAccountController(); RegisterModel model = new RegisterModel() { UserName = "someUser", Email = "goodEmail", Password = "goodPassword", ConfirmPassword = "goodPassword" }; controller.ModelState.AddModelError("", "Dummy error message."); // Act ActionResult result = controller.Register(model); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.AreEqual(model, viewResult.ViewData.Model); Assert.AreEqual(10, viewResult.ViewData["PasswordLength"]); }

Hasil Test: Register Test

6. Sequence Checkout

Test Skenario

No Skenario Method Class Test Case Hasil Diharapkan

Status

1 User mengisi lengkap informasi, Check out berhasil

ActionResult AddressAndPayment (FormCollection values) void CompleteTest()

CheckOutController.cs First Name:Alexander Last Name:Rahardjo Address:Kutisari City:Surabaya State:Jawa Timur Postal Code:60291 Country:indonesia Phone:123456 EmailAddress: [email protected] Promo Code:FREE

Sistem berhasil menyimpan informasi user dan memberikan pesan “Thanks for

your order! Your order number is:

476”

Pass

2 Gagal karena user tidak mengisi lengkap

ActionResult AddressAndPayment (FormCollection values)

CheckOutController.cs First Nama:- Last Name: -Address:- City:- State:-

Sistem tidak berhasil menyimpan dan memberikan

Failed

: Visitors AddressAndPaymentPage CheckOutController MusicStoreEntitiesShoppingCart

1 : Action()

2 : AddressAndPayment()

3 : AddToOrders()

4 : SaveChanges()5 : GetCart()

6

7 : CreateOrder()

8 : GetCartItems()

9

10 : SaveChanges()

11 : EmptyCart()

12

informasi Postal Code:- Country:- Phone:- EmailAddress:- Promo Code:FREE

pesan “Field required”

3 Gagal karena user tidak mengisikan Promo Code

ActionResult AddressAndPayment (FormCollection values)

CheckOutController.cs First Name:Alexander Last Name:Rahardjo Address:Kutisari City:Surabaya State:Jawa Timur Postal Code:60291 Country:indonesia Phone:123456 EmailAddress: [email protected] Promo Code:-

Sistem tidak menyimpan informasi

Failed

Code Test CheckoutControllerTest.cs [TestMethod()] public void AddressAndPaymentTest() { CheckoutController target = new CheckoutController(); target.SetFakeControllerContext(); // Execute ViewResult result = target.AddressAndPayment() as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Checkout", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod()] public void AddressAndPaymentTest1() { FormCollection values = null; CheckoutController target = new CheckoutController(); target.SetFakeControllerContext(); // Execute ViewResult result = target.AddressAndPayment(values) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Checkout", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod()]

public void CompleteTest() { CheckoutController target = new CheckoutController(); target.SetFakeControllerContext(); int id = 476; // Execute ViewResult result = target.Complete(id) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Checkout", viewData["Title"]); Assert.AreEqual(1, viewData.Count); }

Hasil Test Checkout Test

7. Sequence Create Album

Test Skenario:

No Skenario Method Class Test Case Hasil Diharapkan

Status

1 Login Berhasil

ActionResult LogOn(LogOnModel model, string returnUrl)

AccountController.cs username = "Administrator"; password = "password123"; returnUrl = "StoreManager";

Login berhasil dan di-redirect ke halaman StoreManager

Pass

2 Login Gagal karena data invalid/tidak benar

ActionResult LogOn(LogOnModel model, string returnUrl)

AccountController.cs username = "Administrator"; password = "123"; RememberMe = false

Login gagal dan di-redirect ke halaman Index

Pass

3 Penambahan albums berhasil

ActionResult Create(Album album)

StoreManagerController.cs Title:I’m Sorry Sir Price: 98 Artist:AC/DC Genre:Rock

Penambahan Album berhasil dan di-redirect ke halaman StoreManager

Pass

4 Saat penambahan informasi yang diwajibkan tidak lengkap

ActionResult Create(Album album)

StoreManagerController.cs Title:- Price: 98 Artist:AC/DC Genre:Rock

Sistem tidak menambahkan album dan memberikan pesan” An Album Title is required”

Pass

Code Test:

AccountControllerTest.cs /// <summary> ///A test for LogOn ///</summary> // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example, // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server, // whether you are testing a page, web service, or a WCF service. [TestMethod()] //[HostType("ASP.NET")] //[AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\fp\\Source\\MvcMusicStore", "/")] //[UrlToTest("http://localhost:1397/")] public void LogOn_Get_ReturnsView() { // Arrange AccountController controller = GetAccountController(); // Act ActionResult result = controller.LogOn(); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); } [TestMethod()] public void LogOn_Get_ReturnsView2() { // Setup var formsAuthenticationMock = new Mock<IFormsAuthenticationService>(); var membershipProviderMock = new Mock<IMembershipService>(); AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object); target.SetFakeControllerContext(); // Execute ViewResult result = target.LogOn() as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("LoginGet", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod()] public void LogOnTest2() { //AccountController target = new AccountController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.LogOff(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method.");

// Setup var formsAuthenticationMock = new Mock<IFormsAuthenticationService>(); var membershipProviderMock = new Mock<IMembershipService>(); string username = "Administrator"; string password = "password123"; string returnUrl = "StoreManager"; bool rememberMe = false; LogOnModel model = new LogOnModel(); model.UserName = username; model.Password = password; model.RememberMe = rememberMe; formsAuthenticationMock.Expect(f => f.SignIn(username, rememberMe)); AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object); target.SetFakeControllerContext(); target.HttpContext.Request.SetHttpMethodResult("POST"); //// Execute //RedirectToRouteResult result = target.LogOn(model,returnUrl) as RedirectToRouteResult; // Execute ViewResult result = target.LogOn(model, returnUrl) as ViewResult; membershipProviderMock .Expect(m => m.ValidateUser(username, password)) .Returns(true); // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("LoginPost", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod] public void LogOn_Post_ReturnsViewIfModelStateIsInvalid() { // Arrange AccountController controller = GetAccountController(); LogOnModel model = new LogOnModel() { UserName = "Administrator", Password = "password123", RememberMe = false }; controller.ModelState.AddModelError("", "Dummy error message."); // Act ActionResult result = controller.LogOn(model, null); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.AreEqual(model, viewResult.ViewData.Model);

} [TestMethod] public void LogOn_Post_ReturnsViewIfValidateUserFails() { // Arrange AccountController controller = GetAccountController(); LogOnModel model = new LogOnModel() { UserName = "Administrator", Password = "123", RememberMe = false }; // Act ActionResult result = controller.LogOn(model, null); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.AreEqual(model, viewResult.ViewData.Model); Assert.AreEqual("The user name or password provided is incorrect.", controller.ModelState[""].Errors[0].ErrorMessage); }

StoreManagerControllerTest.cs /// <summary> ///A test for Create ///</summary> // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example, // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server, // whether you are testing a page, web service, or a WCF service. [TestMethod()] //[HostType("ASP.NET")] //[AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\Source\\MvcMusicStore", "/")] //[UrlToTest("http://localhost:1397/")] public void CreateTest1() { //StoreManagerController target = new StoreManagerController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.Create(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method."); StoreManagerController target = new StoreManagerController(); target.SetFakeControllerContext(); // Execute ViewResult result = target.Create() as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Create", viewData["Title"]); Assert.AreEqual(1, viewData.Count); }

[TestMethod()] //[HostType("ASP.NET")] //[AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\Source\\MvcMusicStore", "/")] //[UrlToTest("http://localhost:1397/")] public void CreateTest2() { //StoreManagerController target = new StoreManagerController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.Create(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method."); Album album= new Album() { Title = "I’m Sorry Sir", Price = 98, ArtistId = 1, GenreId = 1 }; StoreManagerController target = new StoreManagerController(); target.SetFakeControllerContext(); // Execute ViewResult result = target.Create(album) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("Create", viewData["Title"]); Assert.AreEqual(1, viewData.Count); } [TestMethod()] //[HostType("ASP.NET")] //[AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\Source\\MvcMusicStore", "/")] //[UrlToTest("http://localhost:1397/")] public void CreateTest3() { //StoreManagerController target = new StoreManagerController(); // TODO: Initialize to an appropriate value //ActionResult expected = null; // TODO: Initialize to an appropriate value //ActionResult actual; //actual = target.Create(); //Assert.AreEqual(expected, actual); //Assert.Inconclusive("Verify the correctness of this test method."); Album album = new Album() { Title = "", Price = 98, ArtistId = 1, GenreId = 1 }; StoreManagerController target = new StoreManagerController(); target.SetFakeControllerContext();

// Execute ViewResult result = target.Create(album) as ViewResult; // Verify ViewDataDictionary viewData = result.ViewData; Assert.AreEqual("An Album Title is required", viewData["Title"]); Assert.AreEqual(1, viewData.Count); }

Hasil Test: Login Test

StoreManager Test

Home UI Test

HomeBrowse Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Home' link - Click 'Store' link - Click 'Cart (0)' link - Click 'Admin' link - Click 'Rock' link - Click 'Home' link - Click 'Jazz' link - Click 'Home' link - Click 'Metal' link - Click 'Home' link - Click 'Alternative' link - Click 'Home' link - Click 'Disco' link - Click 'Home' link - Click 'Blues' link - Click 'Home' link - Click 'Latin' link - Click 'Home' link - Click 'Reggae' link - Click 'Home' link - Click 'Pop' link - Click 'Home' link - Click 'Classical' link - Click 'Home' link - Click 'Nevermind' link - Click 'Home' link - Click 'The Best Of Men At Work' image - Click 'Home' link - Click 'Misplaced Childhood' image - Click 'Home' link - Click 'Greatest Hits' image - Click 'Home' link - Click 'Let There Be Rock' link - Click 'Home' link

Code Test HomeUITest.cs [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. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 // error because different list

this.UIMap.HomeBrowse(); }

UIMap.Designer.cs public void HomeBrowse() { #region Variable Declarations HtmlHyperlink uIHomeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIHomeHyperlink; HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIStoreHyperlink; HtmlHyperlink uICart0Hyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseGenresDocument.UICart0Hyperlink; HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument.UINavlistCustom.UIAdminHyperlink; HtmlHyperlink uIRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIHomeHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument.UIHomeHyperlink; HtmlHyperlink uIJazzHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIJazzHyperlink; HtmlHyperlink uIHomeHyperlink2 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument1.UIHomeHyperlink; HtmlHyperlink uIMetalHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIMetalHyperlink; HtmlHyperlink uIHomeHyperlink3 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument2.UIHomeHyperlink; HtmlHyperlink uIAlternativeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIAlternativeHyperlink; HtmlHyperlink uIHomeHyperlink4 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument3.UIHomeHyperlink; HtmlHyperlink uIDiscoHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIDiscoHyperlink; HtmlHyperlink uIHomeHyperlink5 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument4.UIHomeHyperlink; HtmlHyperlink uIBluesHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIBluesHyperlink; HtmlHyperlink uIHomeHyperlink6 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument5.UIHomeHyperlink; HtmlHyperlink uILatinHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UILatinHyperlink; HtmlHyperlink uIHomeHyperlink7 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument6.UIHomeHyperlink; HtmlHyperlink uIReggaeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIReggaeHyperlink; HtmlHyperlink uIHomeHyperlink8 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument7.UIHomeHyperlink; HtmlHyperlink uIPopHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIPopHyperlink;

HtmlHyperlink uIHomeHyperlink9 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument8.UIHomeHyperlink; HtmlHyperlink uIClassicalHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIClassicalHyperlink; HtmlHyperlink uIHomeHyperlink10 = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument9.UIHomeHyperlink; HtmlHyperlink uINevermindHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIAlbumlistCustom.UINevermindHyperlink1; HtmlHyperlink uIHomeHyperlink11 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumNevermindDocument.UIHomeHyperlink; HtmlImage uITheBestOfMenAtWorkImage = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIAlbumlistCustom.UITheBestOfMenAtWorkImage; HtmlHyperlink uIHomeHyperlink12 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumTheBestOfMenAtWDocument.UIHomeHyperlink; HtmlImage uIMisplacedChildhoodImage = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIAlbumlistCustom.UIMisplacedChildhoodImage; HtmlHyperlink uIHomeHyperlink13 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumMisplacedChildhDocument.UIHomeHyperlink; HtmlImage uIGreatestHitsImage = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIAlbumlistCustom.UIGreatestHitsImage; HtmlHyperlink uIHomeHyperlink14 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumGreatestHitsDocument1.UIHomeHyperlink; HtmlHyperlink uILetThereBeRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UIAlbumlistCustom.UILetThereBeRockHyperlink; HtmlHyperlink uIHomeHyperlink15 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumLetThereBeRockDocument.UIHomeHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.HomeBrowseParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Home' link Mouse.Click(uIHomeHyperlink, new Point(36, 18)); // Click 'Store' link Mouse.Click(uIStoreHyperlink, new Point(25, 21)); // Click 'Cart (0)' link Mouse.Click(uICart0Hyperlink, new Point(37, 18)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(49, 19)); // Click 'Rock' link Mouse.Click(uIRockHyperlink, new Point(30, 10)); // Click 'Home' link Mouse.Click(uIHomeHyperlink1, new Point(39, 14)); // Click 'Jazz' link Mouse.Click(uIJazzHyperlink, new Point(13, 11)); // Click 'Home' link Mouse.Click(uIHomeHyperlink2, new Point(28, 16));

// Click 'Metal' link Mouse.Click(uIMetalHyperlink, new Point(14, 14)); // Click 'Home' link Mouse.Click(uIHomeHyperlink3, new Point(52, 19)); // Click 'Alternative' link Mouse.Click(uIAlternativeHyperlink, new Point(66, 11)); // Click 'Home' link Mouse.Click(uIHomeHyperlink4, new Point(35, 18)); // Click 'Disco' link Mouse.Click(uIDiscoHyperlink, new Point(33, 17)); // Click 'Home' link Mouse.Click(uIHomeHyperlink5, new Point(32, 19)); // Click 'Blues' link Mouse.Click(uIBluesHyperlink, new Point(24, 13)); // Click 'Home' link Mouse.Click(uIHomeHyperlink6, new Point(35, 20)); // Click 'Latin' link Mouse.Click(uILatinHyperlink, new Point(29, 15)); // Click 'Home' link Mouse.Click(uIHomeHyperlink7, new Point(25, 18)); // Click 'Reggae' link Mouse.Click(uIReggaeHyperlink, new Point(49, 16)); // Click 'Home' link Mouse.Click(uIHomeHyperlink8, new Point(20, 18)); // Click 'Pop' link Mouse.Click(uIPopHyperlink, new Point(9, 18)); // Click 'Home' link Mouse.Click(uIHomeHyperlink9, new Point(30, 19)); // Click 'Classical' link Mouse.Click(uIClassicalHyperlink, new Point(65, 8)); // Click 'Home' link Mouse.Click(uIHomeHyperlink10, new Point(26, 18)); // Click 'Nevermind' link Mouse.Click(uINevermindHyperlink1, new Point(55, 81)); // Click 'Home' link Mouse.Click(uIHomeHyperlink11, new Point(20, 24)); // Click 'The Best Of Men At Work' image Mouse.Click(uITheBestOfMenAtWorkImage, new Point(50, 70)); // Click 'Home' link Mouse.Click(uIHomeHyperlink12, new Point(20, 24)); // Click 'Misplaced Childhood' image Mouse.Click(uIMisplacedChildhoodImage, new Point(43, 65));

// Click 'Home' link Mouse.Click(uIHomeHyperlink13, new Point(22, 18)); // Click 'Greatest Hits' image Mouse.Click(uIGreatestHitsImage, new Point(71, 49)); // Click 'Home' link Mouse.Click(uIHomeHyperlink14, new Point(31, 14)); // Click 'Let There Be Rock' link Mouse.Click(uILetThereBeRockHyperlink, new Point(48, 88)); // Click 'Home' link Mouse.Click(uIHomeHyperlink15, new Point(29, 16)); }

Hasil Test .

STORE UI TEST

BrowseAlbum Skenario - Go to web page 'http://localhost:1397/' using new browser instance - Click 'Rock' link - Click 'Jazz' link - Click 'Metal' link - Click 'Alternative' link - Click 'Disco' link - Click 'Blues' link - Click 'Latin' link - Click 'Reggae' link - Click 'Pop' link

- Click 'Classical' link

Code Test StoreUITest.cs [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. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.BrowseAlbum(); }

UIMap.Designer.cs public void BrowseAlbum() { #region Variable Declarations HtmlHyperlink uIRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIJazzHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument.UICategoriesPane.UIJazzHyperlink; HtmlHyperlink uIMetalHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument1.UICategoriesPane.UIMetalHyperlink; HtmlHyperlink uIAlternativeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument2.UICategoriesPane.UIAlternativeHyperlink; HtmlHyperlink uIDiscoHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument3.UICategoriesPane.UIDiscoHyperlink; HtmlHyperlink uIBluesHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument4.UICategoriesPane.UIBluesHyperlink;

HtmlHyperlink uILatinHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument5.UICategoriesPane.UILatinHyperlink; HtmlHyperlink uIReggaeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument6.UICategoriesPane.UIReggaeHyperlink; HtmlHyperlink uIPopHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument7.UICategoriesPane.UIPopHyperlink; HtmlHyperlink uIClassicalHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument8.UICategoriesPane.UIClassicalHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.BrowseAlbumParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Rock' link Mouse.Click(uIRockHyperlink, new Point(30, 10)); // Click 'Jazz' link Mouse.Click(uIJazzHyperlink, new Point(30, 15)); // Click 'Metal' link Mouse.Click(uIMetalHyperlink, new Point(30, 17)); // Click 'Alternative' link Mouse.Click(uIAlternativeHyperlink, new Point(30, 14)); // Click 'Disco' link Mouse.Click(uIDiscoHyperlink, new Point(30, 20)); // Click 'Blues' link Mouse.Click(uIBluesHyperlink, new Point(30, 13)); // Click 'Latin' link Mouse.Click(uILatinHyperlink, new Point(30, 13)); // Click 'Reggae' link Mouse.Click(uIReggaeHyperlink, new Point(32, 14)); // Click 'Pop' link Mouse.Click(uIPopHyperlink, new Point(29, 12)); // Click 'Classical' link Mouse.Click(uIClassicalHyperlink, new Point(33, 19)); }

Hasil Test

ViewDetailAlbum Skenario - Go to web page 'http://localhost:1397/' using new browser instance - Click 'Rock' link - Click 'For Those About To Rock We Salute You' link

Code Test StoreUITest.cs [TestMethod] public void CodedUITestMethod2() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewDetailAlbum(); }

UIMap.Designer.cs public void ViewDetailAlbum() { #region Variable Declarations HtmlHyperlink uIRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIForThoseAboutToRockWHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument.UIAlbumlistCustom.UIForThoseAboutToRockWHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewDetailAlbumParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Rock' link Mouse.Click(uIRockHyperlink, new Point(25, 19)); // Click 'For Those About To Rock We Salute You' link Mouse.Click(uIForThoseAboutToRockWHyperlink, new Point(72, 113)); }

Hasil Test

ViewStoreHome Skenario - Go to web page 'http://localhost:1397/' using new browser instance

- Click 'Store' link Code Test StoreUITest.cs [TestMethod] public void CodedUITestMethod3() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewStoreHome(); }

UIMap.Designer.cs public void ViewStoreHome() { #region Variable Declarations HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIStoreHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewStoreHomeParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Store' link Mouse.Click(uIStoreHyperlink, new Point(34, 21)); }

Hasil Test

BrowseAlbum2

Skenario - Go to web page 'http://localhost:1397/' using new browser instance - Click 'Store' link - Click 'Jazz' link

Code Test StoreUITest.cs [TestMethod] public void CodedUITestMethod4() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.BrowseAlbum2(); }

UIMap.Designer.cs public void BrowseAlbum2() { #region Variable Declarations HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIStoreHyperlink; HtmlHyperlink uIJazzHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseGenresDocument.UIMainPane.UIJazzHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.BrowseAlbum2Params.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Store' link Mouse.Click(uIStoreHyperlink, new Point(32, 17)); // Click 'Jazz' link Mouse.Click(uIJazzHyperlink, new Point(29, 12)); }

Hasil Test

ViewDetailAlbum2 Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Store' link - Click 'Disco' link - Click 'Le Freak' link

Code Test StoreUITest.cs [TestMethod] public void CodedUITestMethod5() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewDetailAlbum2(); }

UIMap.Designer.cs public void ViewDetailAlbum2() { #region Variable Declarations HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIStoreHyperlink; HtmlHyperlink uIDiscoHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseGenresDocument.UIMainPane.UIDiscoHyperlink; HtmlHyperlink uILeFreakHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument4.UIAlbumlistCustom.UILeFreakHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewDetailAlbum2Params.UIASPNETMVCMusicStoreWWindowUrl));

// Click 'Store' link Mouse.Click(uIStoreHyperlink, new Point(30, 21)); // Click 'Disco' link Mouse.Click(uIDiscoHyperlink, new Point(26, 13)); // Click 'Le Freak' link Mouse.Click(uILeFreakHyperlink, new Point(49, 84)); }

Hasil Test

AddAlbumToCart Skenario - Go to web page 'http://localhost:1397/' using new browser instance - Click 'Store' link - Click 'Alternative' link - Click 'Cake: B-Sides and Rarities' link - Click 'Add to cart' link

Code Test StoreUITest.cs [TestMethod] public void CodedUITestMethod6() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.AddAlbumToCart(); }

UIMap.Designer.cs public void AddAlbumToCart() { #region Variable Declarations

HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIStoreHyperlink; HtmlHyperlink uIAlternativeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseGenresDocument.UIMainPane.UIAlternativeHyperlink; HtmlHyperlink uICakeBSidesandRaritieHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument3.UIAlbumlistCustom.UICakeBSidesandRaritieHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumCakeBSidesandRaDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.AddAlbumToCartParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Store' link Mouse.Click(uIStoreHyperlink, new Point(37, 18)); // Click 'Alternative' link Mouse.Click(uIAlternativeHyperlink, new Point(21, 9)); // Click 'Cake: B-Sides and Rarities' link Mouse.Click(uICakeBSidesandRaritieHyperlink, new Point(62, 93)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(23, 2)); }

Hasil Test

AddAlbumToCart2 Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Latin' link - Click 'Barulhinho Bom' link - Click 'Add to cart' link

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

// For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.AddAlbumToCart2(); }

UIMap.Designer.cs public void AddAlbumToCart2() { #region Variable Declarations HtmlHyperlink uILatinHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UILatinHyperlink; HtmlHyperlink uIBarulhinhoBomHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument6.UIAlbumlistCustom.UIBarulhinhoBomHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumBarulhinhoBomDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.AddAlbumToCart2Params.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Latin' link Mouse.Click(uILatinHyperlink, new Point(23, 11)); // Click 'Barulhinho Bom' link Mouse.Click(uIBarulhinhoBomHyperlink, new Point(61, 91)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(23, 7)); }

Hasil Test

STORE MANAGER UI TESTING

Create Album Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Admin' link - Type 'Administrator' in 'User name' text box - Type '********' in 'Password' text box

- - Click 'Log On' button - Click 'Create New Album' link

- - Type 'Boy' in 'Title' text box - Type '9' in 'Price' text box - Select 'U2' in 'Album.ArtistId' combo box - Select 'Pop' in 'Album.GenreId' combo box

- - Click 'Save' button

Code Test StoreManagerUITest.cs [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. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.CreateAlbum(); }

UIMap.Designer.cs public void CreateAlbum() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIUsernameEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIPasswordEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UILogOnButton; HtmlHyperlink uICreateNewAlbumHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIStoreManagerAllAlbumDocument.UIMainPane.UICreateNewAlbumHyperlink; HtmlEdit uITitleEdit = this.UIASPNETMVCMusicStoreWWindow.UICreateAlbumDocument.UITitleEdit; HtmlEdit uIPriceEdit = this.UIASPNETMVCMusicStoreWWindow.UICreateAlbumDocument.UIPriceEdit; HtmlComboBox uIAlbumArtistIdComboBox = this.UIASPNETMVCMusicStoreWWindow.UICreateAlbumDocument.UIAlbumArtistIdComboBox;

HtmlComboBox uIAlbumGenreIdComboBox = this.UIASPNETMVCMusicStoreWWindow.UICreateAlbumDocument.UIAlbumGenreIdComboBox; HtmlInputButton uISaveButton = this.UIASPNETMVCMusicStoreWWindow.UICreateAlbumDocument.UIForm0Custom.UISaveButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.CreateAlbumParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(41, 17)); // Type 'Administrator' in 'User name' text box uIUsernameEdit.Text = this.CreateAlbumParams.UIUsernameEditText; // Type '********' in 'Password' text box uIPasswordEdit.Password = this.CreateAlbumParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(31, 12)); // Click 'Create New Album' link Mouse.Click(uICreateNewAlbumHyperlink, new Point(41, 9)); // Type 'Boy' in 'Title' text box uITitleEdit.Text = this.CreateAlbumParams.UITitleEditText; // Type '9' in 'Price' text box uIPriceEdit.Text = this.CreateAlbumParams.UIPriceEditText; // Select 'U2' in 'Album.ArtistId' combo box uIAlbumArtistIdComboBox.SelectedItem = this.CreateAlbumParams.UIAlbumArtistIdComboBoxSelectedItem; // Select 'Pop' in 'Album.GenreId' combo box uIAlbumGenreIdComboBox.SelectedItem = this.CreateAlbumParams.UIAlbumGenreIdComboBoxSelectedItem; // Click 'Save' button Mouse.Click(uISaveButton, new Point(18, 11)); }

Hasil Test

EditAlbum Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Admin' link

- Type 'Administrator' in 'User name' text box - Type '********' in 'Password' text box - Click 'Log On' button - Click 'Edit' link - Type 'BoyU2' in 'Title' text box - Type '8.50' in 'Price' text box - 'Save' button

Code Test StoreManagerUITest.cs [TestMethod] public void CodedUITestMethod2() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.EditAlbum(); }

UIMap.Designer.cs public void EditAlbum() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIUsernameEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIPasswordEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UILogOnButton; HtmlHyperlink uIEditHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIStoreManagerAllAlbumDocument.UIMainPane.UIEditHyperlink; HtmlEdit uITitleEdit = this.UIASPNETMVCMusicStoreWWindow.UIEditBoyDocument.UITitleEdit; HtmlEdit uIPriceEdit = this.UIASPNETMVCMusicStoreWWindow.UIEditBoyDocument.UIPriceEdit; HtmlInputButton uISaveButton = this.UIASPNETMVCMusicStoreWWindow.UIEditBoyDocument.UIForm0Custom.UISaveButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.EditAlbumParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(23, 17)); // Type 'Administrator' in 'User name' text box uIUsernameEdit.Text = this.EditAlbumParams.UIUsernameEditText;

// Type '********' in 'Password' text box uIPasswordEdit.Password = this.EditAlbumParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(30, 11)); // Click 'Edit' link Mouse.Click(uIEditHyperlink, new Point(13, 5)); // Type 'BoyU2' in 'Title' text box uITitleEdit.Text = this.EditAlbumParams.UITitleEditText; // Type '8.50' in 'Price' text box uIPriceEdit.Text = this.EditAlbumParams.UIPriceEditText; // Click 'Save' button Mouse.Click(uISaveButton, new Point(23, 10)); }

Hasil Test

DeleteAlbum Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Admin' link - Type 'Administrator' in 'User name' text box - Type '********' in 'Password' text box - Click 'Log On' button - Click 'Delete' link - Click 'Delete' button - Click 'Click here' link

Code Test StoreManagerUITest.cs [TestMethod] public void CodedUITestMethod3() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.DeleteAlbum(); }

UIMap.Designer.cs public void DeleteAlbum() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIUsernameEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIPasswordEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UILogOnButton; HtmlHyperlink uIDeleteHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIStoreManagerAllAlbumDocument.UIMainPane.UIDeleteHyperlink; HtmlInputButton uIDeleteButton = this.UIASPNETMVCMusicStoreWWindow.UIDeleteBoyU2Document.UIMainPane.UIDeleteButton; HtmlHyperlink uIClickhereHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumDeletedDocument.UIMainPane.UIClickhereHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.DeleteAlbumParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(45, 21)); // Type 'Administrator' in 'User name' text box uIUsernameEdit.Text = this.DeleteAlbumParams.UIUsernameEditText; // Type '********' in 'Password' text box uIPasswordEdit.Password = this.DeleteAlbumParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(32, 12)); // Click 'Delete' link Mouse.Click(uIDeleteHyperlink, new Point(31, 7)); // Click 'Delete' button Mouse.Click(uIDeleteButton, new Point(27, 12)); // Click 'Click here' link Mouse.Click(uIClickhereHyperlink, new Point(33, 7)); }

Hasil Test

SHOPPINGCART UI TESTING

Remove Cart Skenario

- Masuk ke halaman web page 'http://localhost:1397/'

- Klik link 'Jazz' - Klik link 'Le Freak'

- Klik link panel 'album-details' - Klik link 'Reggae'

- Klik link 'Greatest Hits'

- Klik link 'Add to cart'

- Klik link 'Remove from cart'

Code Test ShoppingCartUITest.cs [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. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.RemoveCart(); }

UIMap.Designer.cs

public void RemoveCart() { #region Variable Declarations HtmlHyperlink uIDiscoHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIDiscoHyperlink; HtmlHyperlink uILeFreakHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument4.UIAlbumlistCustom.UILeFreakHyperlink; HtmlDiv uIAlbumdetailsPane = this.UIASPNETMVCMusicStoreWWindow.UIAlbumLeFreakDocument.UIAlbumdetailsPane; HtmlHyperlink uIReggaeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UICategoriesPane.UIReggaeHyperlink; HtmlHyperlink uIGreatestHitsHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument7.UIAlbumlistCustom.UIGreatestHitsHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumGreatestHitsDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uIRemovefromcartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIRow128Row.UIRemovefromcartHyperlink;

#endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.RemoveCartParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Disco' link Mouse.Click(uIDiscoHyperlink, new Point(28, 15)); // Click 'Le Freak' link Mouse.Click(uILeFreakHyperlink, new Point(49, 87)); // Click 'album-details' pane Mouse.Click(uIAlbumdetailsPane, new Point(107, 203)); // Click 'Reggae' link Mouse.Click(uIReggaeHyperlink, new Point(32, 17)); // Click 'Greatest Hits' link Mouse.Click(uIGreatestHitsHyperlink, new Point(58, 76)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(34, 7)); // Click 'Remove from cart' link Mouse.Click(uIRemovefromcartHyperlink, new Point(20, 8)); }

Hasil Test

Remove Cart2 Skenario - Masuk ke web page 'http://localhost:1397/' menggunakan browser - Klik link 'Rock' - Klik link 'For Those About To Rock We Salute You' - Klik link 'Add to cart' - Klik link 'Rock' - Klik link 'For Those About To Rock We Salute You' - Klik link 'Add to cart' - Klik link ' Remove from cart' - Klik link ' Remove from cart'

Code Test ShoppingCartUITest.cs [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.

// For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.RemoveCart2(); }

UIMap.Designer.cs

public void RemoveCart2() { #region Variable Declarations HtmlHyperlink uIRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIForThoseAboutToRockWHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument.UIAlbumlistCustom.UIForThoseAboutToRockWHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumForThoseAboutToDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uIRockHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIRemovefromcartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIRow126Row.UIRemovefromcartHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.RemoveCart2Params.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Rock' link Mouse.Click(uIRockHyperlink, new Point(31, 17)); // Click 'For Those About To Rock We Salute You' link Mouse.Click(uIForThoseAboutToRockWHyperlink, new Point(62, 98)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(28, 11)); // Click 'Rock' link Mouse.Click(uIRockHyperlink1, new Point(15, 15)); // Click 'For Those About To Rock We Salute You' link Mouse.Click(uIForThoseAboutToRockWHyperlink, new Point(58, 103)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(23, 6)); // Click 'Remove from cart' link Mouse.Click(uIRemovefromcartHyperlink, new Point(39, 6)); // Click 'Remove from cart' link Mouse.Click(uIRemovefromcartHyperlink, new Point(39, 6)); }

Hasil Test Karena bug pada sistem yang tidak memungkinkan user untuk melakukan remove cart lebih dari satu kali pada produk yang sama.

View Cart Skenario

- Masuk ke web page 'http://localhost:1397/' menggunakan browser - Klik link 'Rock' - Klik link 'For Those About To Rock We Salute You' - Klik link 'Add to cart' - Klik link 'Jazz' - Klik link 'Quiet Songs’ - Klik panel 'album-details' - Klik link 'Home' - Klik link 'Cart (2)'

Code Test ShoppingCartUITest.cs [TestMethod] public void CodedUITestMethod2() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewCart(); }

UIMap.Designer.cs public void ViewCart() { #region Variable Declarations HtmlHyperlink uIRockHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIRockHyperlink; HtmlHyperlink uIForThoseAboutToRockWHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument.UIAlbumlistCustom.UIForThoseAboutToRockWHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumForThoseAboutToDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uIJazzHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UICategoriesPane.UIJazzHyperlink; HtmlHyperlink uIQuietSongsHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument1.UIAlbumlistCustom.UIQuietSongsHyperlink;

HtmlDiv uIAlbumdetailsPane = this.UIASPNETMVCMusicStoreWWindow.UIAlbumQuietSongsDocument.UIAlbumdetailsPane; HtmlHyperlink uIHomeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIHomeHyperlink; HtmlHyperlink uICart2Hyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICart2Hyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewCartParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Rock' link Mouse.Click(uIRockHyperlink, new Point(29, 13)); // Click 'For Those About To Rock We Salute You' link Mouse.Click(uIForThoseAboutToRockWHyperlink, new Point(62, 110)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(24, 10)); // Click 'Jazz' link Mouse.Click(uIJazzHyperlink, new Point(21, 14)); // Click 'Quiet Songs' link Mouse.Click(uIQuietSongsHyperlink, new Point(43, 91)); // Click 'album-details' pane Mouse.Click(uIAlbumdetailsPane, new Point(116, 204)); // Click 'Home' link Mouse.Click(uIHomeHyperlink, new Point(31, 15)); // Click 'Cart (2)' link Mouse.Click(uICart2Hyperlink, new Point(37, 20)); }

Hasil Test

View Detail Album Cart Skenario

- Masuk halaman web page 'http://localhost:1397/' mebbuganakan browser - Klik link 'Alternative' - Klik link 'Cake: B-Sides and Rarities' - Klik link 'Add to cart'

- Klik link 'Cake: B-Sides and Rarities'

Code Test ShoppingCartUITest.cs [TestMethod] public void CodedUITestMethod3() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewDetailAlbumCart(); }

UIMap.Designer.cs public void ViewDetailAlbumCart() { #region Variable Declarations HtmlHyperlink uIAlternativeHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIAlternativeHyperlink; HtmlHyperlink uICakeBSidesandRaritieHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument3.UIAlbumlistCustom.UICakeBSidesandRaritieHyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumCakeBSidesandRaDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uICakeBSidesandRaritieHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIRow139Row.UICakeBSidesandRaritieHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance

this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewDetailAlbumCartParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Alternative' link Mouse.Click(uIAlternativeHyperlink, new Point(41, 16)); // Click 'Cake: B-Sides and Rarities' link Mouse.Click(uICakeBSidesandRaritieHyperlink, new Point(68, 96)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(18, 9)); // Click 'Cake: B-Sides and Rarities' link Mouse.Click(uICakeBSidesandRaritieHyperlink1, new Point(118, 10)); }

Hasil Test

Checkout with Register Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Classical' link - Click 'Pachelbel: Canon & Gigue' link - Click 'Add to cart' link - Click 'Disco' link - Click 'Le Freak' link - Click 'Add to cart' link

- Click 'Checkout >>' link - - Click 'Register' link

- - Type 'fajar' in 'User name' text box - Type '[email protected]' in 'Email address' text box - Type '********' in 'Password' text box - Type '********' in 'Confirm password' text box

- - Click 'Register' button - Click 'Cart (2)' link - Click 'Checkout >>' link - Type 'Fajar' in 'First Name' text box - Type 'Nugroho' in 'Last Name' text box - Type 'Keputih' in 'Address' text box - Type 'Surabaya' in 'City' text box - Type 'Jawa Timur' in 'State' text box - Type '60111' in 'Postal Code' text box - Type 'Indonesia' in 'Country' text box - Type '1234567' in 'Phone' text box - Type '[email protected]' in 'Email Address' text box - Type 'FREE' in 'PromoCode' text box

- - Click 'Submit Order' button - Click 'store' link

Code Test ShoppingCartUITest.cs [TestMethod] public void CodedUITestMethod4() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 // Delete order_detail,order,membership,username first this.UIMap.CheckOutWithRegister(); }

UIMap.Designer.cs public void CheckOutWithRegister() { #region Variable Declarations HtmlHyperlink uIClassicalHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIClassicalHyperlink; HtmlHyperlink uIPachelbelCanonGigueHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument9.UIAlbumlistCustom.UIPachelbelCanonGigueHyperlink;

HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumPachelbelCanonGDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uIDiscoHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UICategoriesPane.UIDiscoHyperlink; HtmlHyperlink uILeFreakHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument4.UIAlbumlistCustom.UILeFreakHyperlink; HtmlHyperlink uIAddtocartHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumLeFreakDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uICheckoutHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIMainPane.UICheckoutHyperlink; HtmlHyperlink uIRegisterHyperlink = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument1.UIMainPane.UIRegisterHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIUsernameEdit; HtmlEdit uIEmailaddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIEmailaddressEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIPasswordEdit; HtmlEdit uIConfirmpasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIConfirmpasswordEdit; HtmlInputButton uIRegisterButton = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIMainPane.UIRegisterButton; HtmlHyperlink uICart2Hyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICart2Hyperlink; HtmlHyperlink uICheckoutHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument.UIMainPane.UICheckoutHyperlink; HtmlEdit uIFirstNameEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIFirstNameEdit; HtmlEdit uILastNameEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UILastNameEdit; HtmlEdit uIAddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIAddressEdit; HtmlEdit uICityEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UICityEdit; HtmlEdit uIStateEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIStateEdit; HtmlEdit uIPostalCodeEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPostalCodeEdit; HtmlEdit uICountryEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UICountryEdit; HtmlEdit uIPhoneEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPhoneEdit; HtmlEdit uIEmailAddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIEmailAddressEdit; HtmlEdit uIPromoCodeEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPromoCodeEdit; HtmlInputButton uISubmitOrderButton = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIForm0Custom.UISubmitOrderButton; HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UICheckoutCompleteDocument1.UIMainPane.UIStoreHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance

this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.CheckOutWithRegisterParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Classical' link Mouse.Click(uIClassicalHyperlink, new Point(50, 16)); // Click 'Pachelbel: Canon & Gigue' link Mouse.Click(uIPachelbelCanonGigueHyperlink, new Point(46, 98)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(29, 6)); // Click 'Disco' link Mouse.Click(uIDiscoHyperlink, new Point(29, 13)); // Click 'Le Freak' link Mouse.Click(uILeFreakHyperlink, new Point(53, 85)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink1, new Point(21, 4)); // Click 'Checkout >>' link Mouse.Click(uICheckoutHyperlink, new Point(45, 6)); // Click 'Register' link Mouse.Click(uIRegisterHyperlink, new Point(18, 7)); // Type 'fajar' in 'User name' text box uIUsernameEdit.Text = this.CheckOutWithRegisterParams.UIUsernameEditText; // Type '[email protected]' in 'Email address' text box uIEmailaddressEdit.Text = this.CheckOutWithRegisterParams.UIEmailaddressEditText; // Type '********' in 'Password' text box uIPasswordEdit.Password = this.CheckOutWithRegisterParams.UIPasswordEditPassword; // Type '********' in 'Confirm password' text box uIConfirmpasswordEdit.Password = this.CheckOutWithRegisterParams.UIConfirmpasswordEditPassword; // Click 'Register' button Mouse.Click(uIRegisterButton, new Point(32, 13)); // Click 'Cart (2)' link Mouse.Click(uICart2Hyperlink, new Point(27, 19)); // Click 'Checkout >>' link Mouse.Click(uICheckoutHyperlink1, new Point(33, 6)); // Type 'Fajar' in 'First Name' text box uIFirstNameEdit.Text = this.CheckOutWithRegisterParams.UIFirstNameEditText; // Type 'Nugroho' in 'Last Name' text box uILastNameEdit.Text = this.CheckOutWithRegisterParams.UILastNameEditText; // Type 'Keputih' in 'Address' text box uIAddressEdit.Text = this.CheckOutWithRegisterParams.UIAddressEditText; // Type 'Surabaya' in 'City' text box

uICityEdit.Text = this.CheckOutWithRegisterParams.UICityEditText; // Type 'Jawa Timur' in 'State' text box uIStateEdit.Text = this.CheckOutWithRegisterParams.UIStateEditText; // Type '60111' in 'Postal Code' text box uIPostalCodeEdit.Text = this.CheckOutWithRegisterParams.UIPostalCodeEditText; // Type 'Indonesia' in 'Country' text box uICountryEdit.Text = this.CheckOutWithRegisterParams.UICountryEditText; // Type '1234567' in 'Phone' text box uIPhoneEdit.Text = this.CheckOutWithRegisterParams.UIPhoneEditText; // Type '[email protected]' in 'Email Address' text box uIEmailAddressEdit.Text = this.CheckOutWithRegisterParams.UIEmailAddressEditText; // Type 'FREE' in 'PromoCode' text box uIPromoCodeEdit.Text = this.CheckOutWithRegisterParams.UIPromoCodeEditText; // Click 'Submit Order' button Mouse.Click(uISubmitOrderButton, new Point(51, 12)); // Click 'store' link Mouse.Click(uIStoreHyperlink, new Point(21, 10)); }

Hasil Test

Checkout Without Register Skenario

- Go to web page 'http://localhost:1397/' using new browser instance - Click 'Pop' link - Click 'Axé Bahia 2001' link - Click 'Add to cart' link - Click 'Latin' link - Click 'Barulhinho Bom' link - Click 'Add to cart' link - Click 'Checkout >>' link

- Type 'alex' in 'User name' text box - Click 'Log On' button - Type '********' in 'Password' text box - Click 'Log On' button - Type 'Alexander' in 'First Name' text box - Type 'Rahardjo' in 'Last Name' text box - Type 'Kutisari' in 'Address' text box - Type 'Surabaya' in 'City' text box - Type 'Jawa Timur' in 'State' text box - Type '60291' in 'Postal Code' text box - Type 'Indonesia' in 'Country' text box - Type '123456' in 'Phone' text box - Type '[email protected]' in 'Email Address' text box - Type 'FREE' in 'PromoCode' text box - Click 'Submit Order' button - Click 'store' link

Code Test ShoppingCartUITest.cs [TestMethod] public void CodedUITestMethod5() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 //this.UIMap.CheckOutWithoutRegister(); this.UIMap.CheckOutWithoutRegister(); }

UIMap.Designer.cs /// <summary> /// CheckOutWithoutRegister - Use 'CheckOutWithoutRegisterParams' to pass parameters into this method. /// </summary> public void CheckOutWithoutRegister() { #region Variable Declarations HtmlHyperlink uIPopHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UICategoriesPane.UIPopHyperlink; HtmlHyperlink uIAxéBahia2001Hyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument8.UIAlbumlistCustom.UIAxéBahia2001Hyperlink; HtmlHyperlink uIAddtocartHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIAlbumAxéBahia2001Document.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uILatinHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UICategoriesPane.UILatinHyperlink; HtmlHyperlink uIBarulhinhoBomHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIBrowseAlbumsDocument6.UIAlbumlistCustom.UIBarulhinhoBomHyperlink;

HtmlHyperlink uIAddtocartHyperlink1 = this.UIASPNETMVCMusicStoreWWindow.UIAlbumBarulhinhoBomDocument.UIAlbumdetailsPane.UIAddtocartHyperlink; HtmlHyperlink uICheckoutHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIShoppingCartDocument1.UIMainPane.UICheckoutHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument1.UIUsernameEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument1.UIMainPane.UILogOnButton; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument1.UIPasswordEdit; HtmlEdit uIFirstNameEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIFirstNameEdit; HtmlEdit uILastNameEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UILastNameEdit; HtmlEdit uIAddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIAddressEdit; HtmlEdit uICityEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UICityEdit; HtmlEdit uIStateEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIStateEdit; HtmlEdit uIPostalCodeEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPostalCodeEdit; HtmlEdit uICountryEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UICountryEdit; HtmlEdit uIPhoneEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPhoneEdit; HtmlEdit uIEmailAddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIEmailAddressEdit; HtmlEdit uIPromoCodeEdit = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIPromoCodeEdit; HtmlInputButton uISubmitOrderButton = this.UIASPNETMVCMusicStoreWWindow.UIShippingAddressDocument.UIForm0Custom.UISubmitOrderButton; HtmlHyperlink uIStoreHyperlink = this.UIASPNETMVCMusicStoreWWindow.UICheckoutCompleteDocument.UIMainPane.UIStoreHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.CheckOutWithoutRegisterParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Pop' link Mouse.Click(uIPopHyperlink, new Point(25, 13)); // Click 'Axé Bahia 2001' link Mouse.Click(uIAxéBahia2001Hyperlink, new Point(66, 85)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink, new Point(16, 7)); // Click 'Latin' link Mouse.Click(uILatinHyperlink, new Point(30, 12)); // Click 'Barulhinho Bom' link Mouse.Click(uIBarulhinhoBomHyperlink, new Point(51, 95)); // Click 'Add to cart' link Mouse.Click(uIAddtocartHyperlink1, new Point(24, 7));

// Click 'Checkout >>' link Mouse.Click(uICheckoutHyperlink, new Point(37, 8)); // Type 'alex' in 'User name' text box uIUsernameEdit.Text = this.CheckOutWithoutRegisterParams.UIUsernameEditText; //// Click 'Log On' button //Mouse.Click(uILogOnButton, new Point(21, 16)); // Type '********' in 'Password' text box uIPasswordEdit.Password = this.CheckOutWithoutRegisterParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(28, 14)); // Type 'Alexander' in 'First Name' text box uIFirstNameEdit.Text = this.CheckOutWithoutRegisterParams.UIFirstNameEditText; // Type 'Rahardjo' in 'Last Name' text box uILastNameEdit.Text = this.CheckOutWithoutRegisterParams.UILastNameEditText; // Type 'Kutisari' in 'Address' text box uIAddressEdit.Text = this.CheckOutWithoutRegisterParams.UIAddressEditText; // Type 'Surabaya' in 'City' text box uICityEdit.Text = this.CheckOutWithoutRegisterParams.UICityEditText; // Type 'Jawa Timur' in 'State' text box uIStateEdit.Text = this.CheckOutWithoutRegisterParams.UIStateEditText; // Type '60291' in 'Postal Code' text box uIPostalCodeEdit.Text = this.CheckOutWithoutRegisterParams.UIPostalCodeEditText; // Type 'Indonesia' in 'Country' text box uICountryEdit.Text = this.CheckOutWithoutRegisterParams.UICountryEditText; // Type '123456' in 'Phone' text box uIPhoneEdit.Text = this.CheckOutWithoutRegisterParams.UIPhoneEditText; // Type '[email protected]' in 'Email Address' text box uIEmailAddressEdit.Text = this.CheckOutWithoutRegisterParams.UIEmailAddressEditText; // Type 'FREE' in 'PromoCode' text box uIPromoCodeEdit.Text = this.CheckOutWithoutRegisterParams.UIPromoCodeEditText; // Click 'Submit Order' button Mouse.Click(uISubmitOrderButton, new Point(35, 16)); // Click 'store' link Mouse.Click(uIStoreHyperlink, new Point(15, 11)); }

Hasil Test

ADMIN UI TESTING

View Admin Skenario:

- Masuk halaman webpage 'http://localhost:1397/' melalui browser

- Klik link 'Admin'

Code Test AdminUITest.cs [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. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.ViewAdmin(); }

UIMap.Designer.cs public void ViewAdmin() { #region Variable Declarations

HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.ViewAdminParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(32, 21)); }

Hasil Test

Register Account Skenario - Masuk halaman webpage 'http://localhost:1397/' melalui browser - Klik link 'Admin' sehingga akan meuncul halaman sebagai berikut:

- Klik link 'Register', lalu akan muncul halaman form sebagai berikut:

- Ketik 'AdminNew' pada 'User name' text box - Ketik '[email protected]' pada 'Email address' text box - Ketik '********' pada 'Password' text box - Ketik '********' pada 'Confirm password' text box - Klik tombol'Register'

Code Test AdminUITest.cs [TestMethod] public void CodedUITestMethod2() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.RegisterAccount(); this.UIMap.AssertRegisterAccount(); }

UIMap.Designer.cs public void RegisterAccount() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlHyperlink uIRegisterHyperlink = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UIRegisterHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIUsernameEdit; HtmlEdit uIEmailaddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIEmailaddressEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIPasswordEdit; HtmlEdit uIConfirmpasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIConfirmpasswordEdit; HtmlInputButton uIRegisterButton = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIMainPane.UIRegisterButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.RegisterAccountParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(49, 21)); // Click 'Register' link Mouse.Click(uIRegisterHyperlink, new Point(11, 11)); // Type 'AdminNew' in 'User name' text box uIUsernameEdit.Text = this.RegisterAccountParams.UIUsernameEditText; // Type '[email protected]' in 'Email address' text box uIEmailaddressEdit.Text = this.RegisterAccountParams.UIEmailaddressEditText; // Type '********' in 'Password' text box

uIPasswordEdit.Password = this.RegisterAccountParams.UIPasswordEditPassword; // Type '********' in 'Confirm password' text box uIConfirmpasswordEdit.Password = this.RegisterAccountParams.UIConfirmpasswordEditPassword; // Click 'Register' button Mouse.Click(uIRegisterButton, new Point(28, 8)); } public void AssertRegisterAccount() { #region Variable Declarations HtmlCustom uIUsernamealreadyexistCustom = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIMainPane.UIUsernamealreadyexistCustom; #endregion // Verify that 'Username already exists. Please enter a' custom control's property 'InnerText' is not equal to 'Username already exists. Please enter a different user name.' Assert.AreNotEqual(this.AssertRegisterAccountExpectedValues.UIUsernamealreadyexistCustomInnerText, uIUsernamealreadyexistCustom.InnerText); }

Hasil Test

Register Account Invalid Input Skenario - Masuk halaman webpage 'http://localhost:1397/' melalui browser - Klik link 'Admin' sehingga akan meuncul halaman sebagai berikut:

- Klik link 'Register', lalu akan muncul halaman form sebagai berikut:

- Kosongkan 'User name' text box - Ketik ' [email protected]' pada 'Email address' text box - Ketik '********' pada 'Password' text box - Ketik '********' pada 'Confirm password' text box - Klik tombol'Register'

Code Test AdminUITest.cs [TestMethod] public void CodedUITestMethod5() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 //this.UIMap.RegisterAccountInvalidInput(); this.UIMap.RegisterAccountInvalidInput(); this.UIMap.AssertRegisterAccountInvalidInput(); }

UIMap.Designer.cs public void RegisterAccountInvalidInput() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlHyperlink uIRegisterHyperlink = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UIRegisterHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIUsernameEdit; HtmlEdit uIEmailaddressEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIEmailaddressEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIPasswordEdit; HtmlEdit uIConfirmpasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIConfirmpasswordEdit; HtmlInputButton uIRegisterButton = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIMainPane.UIRegisterButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.RegisterAccountInvalidInputParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(31, 23)); // Click 'Register' link Mouse.Click(uIRegisterHyperlink, new Point(34, 10)); // Click 'User name' text box Mouse.Click(uIUsernameEdit, new Point(55, 13)); // Type '[email protected]' in 'Email address' text box uIEmailaddressEdit.Text = this.RegisterAccountInvalidInputParams.UIEmailaddressEditText; // Type '********' in 'Password' text box

uIPasswordEdit.Password = this.RegisterAccountInvalidInputParams.UIPasswordEditPassword; // Type '********' in 'Confirm password' text box uIConfirmpasswordEdit.Password = this.RegisterAccountInvalidInputParams.UIConfirmpasswordEditPassword; // Click 'Register' button Mouse.Click(uIRegisterButton, new Point(15, 14)); } public void AssertRegisterAccountInvalidInput() { #region Variable Declarations HtmlSpan uIAccountcreationwasunPane = this.UIASPNETMVCMusicStoreWWindow.UIRegisterDocument.UIMainPane.UIAccountcreationwasunPane; #endregion // Verify that 'Account creation was unsuccessful. Pleas' pane's property 'InnerText' equals 'Account creation was unsuccessful. Please correct the errors and try again.' Assert.AreEqual(this.AssertRegisterAccountInvalidInputExpectedValues.UIAccountcreationwasunPaneInnerText, uIAccountcreationwasunPane.InnerText); }

Hasil Test

Login Success

Skenario - Masuk halaman webpage 'http://localhost:1397/' melalui browser - Klik link 'Admin' sehingga akan meuncul halaman sebagai berikut:

- Ketik 'Administrator' pada 'User name' text box - Ketik '********' pada 'Password' text box

- Click 'Log On' button - Click 'Close' button

Code Test AdminUITest.cs [TestMethod] public void CodedUITestMethod3() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.LoginSuccess(); }

UIMap.Designer.cs public void LoginSuccess() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIUsernameEdit; HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIPasswordEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UILogOnButton;

WinButton uICloseButton = this.UIASPNETMVCMusicStoreWWindow.UIStoreManagerAllAlbumTitleBar.UICloseButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.LoginSuccessParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(33, 22)); // Type 'Administrator' in 'User name' text box uIUsernameEdit.Text = this.LoginSuccessParams.UIUsernameEditText; // Type '********' in 'Password' text box uIPasswordEdit.Password = this.LoginSuccessParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(24, 16)); #region Variable Declarations HtmlDiv uIMainPane = this.UIASPNETMVCMusicStoreWWindow.UIStoreManagerAllAlbumDocument.UIMainPane; #endregion // Verify that 'main' pane's property 'DisplayText' is not equal to 'null' Assert.IsNotNull(uIMainPane.DisplayText); // Click 'Close' button Mouse.Click(uICloseButton, new Point(12, 8)); }

Hasil Test

Login Failed Skenario

- Masuk halaman webpage 'http://localhost:1397/' melalui browser - Klik link 'Admin' sehingga akan meuncul halaman sebagai berikut:

- Ketik 'Admin' pada 'User name' text box - Ketik '********' pada 'Password' text box

- Klikk tombol 'Log On'

Code Test AdminUITest.cs [TestMethod] public void CodedUITestMethod4() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463 this.UIMap.LoginFailed(); }

UIMap.Designer.cs /// <summary> /// LoginFailed - Use 'LoginFailedParams' to pass parameters into this method. /// </summary> public void LoginFailed() { #region Variable Declarations HtmlHyperlink uIAdminHyperlink = this.UIASPNETMVCMusicStoreWWindow.UIASPNETMVCMusicStoreDocument.UINavlistCustom.UIAdminHyperlink; HtmlEdit uIUsernameEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIUsernameEdit;

HtmlEdit uIPasswordEdit = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIPasswordEdit; HtmlInputButton uILogOnButton = this.UIASPNETMVCMusicStoreWWindow.UILogOnDocument.UIMainPane.UILogOnButton; #endregion // Go to web page 'http://localhost:1397/' using new browser instance this.UIASPNETMVCMusicStoreWWindow.LaunchUrl(new System.Uri(this.LoginFailedParams.UIASPNETMVCMusicStoreWWindowUrl)); // Click 'Admin' link Mouse.Click(uIAdminHyperlink, new Point(33, 17)); // Type 'Admin' in 'User name' text box uIUsernameEdit.Text = this.LoginFailedParams.UIUsernameEditText; // Type '********' in 'Password' text box uIPasswordEdit.Password = this.LoginFailedParams.UIPasswordEditPassword; // Click 'Log On' button Mouse.Click(uILogOnButton, new Point(27, 15)); }

Hasil Test