package com.googlecode.tawus; import java.util.HashMap; import java.util.Map; import org.testng.annotations.Test; public class EntityGridWithEditDemoTest extends BaseTestCase { @Test public void test_edit_link() throws InterruptedException { openBaseURL(); clickAndWait("link=Entity Grid Ajax with Edit"); assertTexts("xpath=//table[@class='t-data-grid'][1]/thead[1]/tr[1]/th[%d]/a[1]", new String[] { "Name", "Id", "Address", "Age", "Gender" }); assertTexts("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[%d]", new String[] { "Taha", "1", "Srinagar", "32", "Male", "Computers" }); click("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[1]/a[1]");//edit link Thread.sleep(1500); assertTextPresent("User Details"); //Fill in the contents Map<String, String> params = new HashMap<String, String>(); params.put("name", "TawusHafeez"); params.put("address", "Srinagar, Kashmir"); params.put("age", "44"); params.put("department", "2");//Select option value for Computers params.put("id_0", "11"); params.put("gender", "2");//Female //Check if all the fields are present for (String field : params.keySet()) { assertTrue(isElementPresent("name=" + field), "Field " + field + " is present"); } type("name=name", params.get("name")); type("name=address", params.get("address")); type("name=age", params.get("age")); type("name=id_0", params.get("id_0")); select("name=department", "value=2"); select("name=gender", "value=Female"); click("//form[1]//input[@value='Save'][1]"); assertTextUsingJS("message", params.get("name") + "/" + params.get("address")); assertTexts("xpath=//table[@class='t-data-grid'][1]/thead[1]/tr[1]/th[%d]/a[1]", new String[] { "Name", "Id", "Address", "Age", "Gender" }); assertTexts("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[%d]", new String[] { "TawusHafeez", "11", "Srinagar, Kashmir", "44", "Female", "English" }); click("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[1]/a[1]");//edit link Thread.sleep(1000); params.clear(); params.put("name", "Taha"); params.put("address", "Srinagar"); params.put("age", "32"); params.put("department", "2"); params.put("id_0", "1"); params.put("gender", "1"); type("name=name", params.get("name")); type("name=address", params.get("address")); type("name=age", params.get("age")); type("name=id_0", params.get("id_0")); select("name=department", "value=2"); select("name=gender", "value=Female"); click("//form[1]//input[@value='Save'][1]"); assertTextUsingJS("message", params.get("name") + "/" + params.get("address")); click("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[1]/a[1]");//edit link Thread.sleep(1500); click("//form[1]//button[2]");//cancel button assertTextUsingJS("message", "canceled"); click("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[1]/a[1]");//edit link Thread.sleep(1500); click("//form[1]//button[1]");//delete button assertTextUsingJS("message", "deleted"); } //@Test public void test_new_link() throws InterruptedException { openBaseURL(); clickAndWait("link=Entity Grid Ajax with Edit"); assertTexts("xpath=//table[@class='t-data-grid'][1]/thead[1]/tr[1]/th[%d]/a[1]", new String[] { "Name", "Id", "Address", "Age", "Gender" }); assertTexts("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[%d]", new String[] { "Taha", "1", "Srinagar", "32", "Male", "Computers" }); click("xpath=//div[@class='t-entity-new'][1]/a[1]"); Thread.sleep(1500); assertTextPresent("User Details"); //Fill in the contents Map<String, String> params = new HashMap<String, String>(); params.put("name", "TawusHafeez"); params.put("address", "Srinagar, Kashmir"); params.put("age", "44"); params.put("department", "2");//Select option value for Computers params.put("id_0", "11"); params.put("gender", "2");//Female //Check if all the fields are present for (String field : params.keySet()) { assertTrue(isElementPresent("name=" + field), "Field " + field + " is present"); } type("name=name", params.get("name")); type("name=address", params.get("address")); type("name=age", params.get("age")); type("name=id_0", params.get("id_0")); select("name=department", "value=2"); select("name=gender", "value=Female"); click("//form[1]//input[@value='Save'][1]"); assertTextUsingJS("message", params.get("name") + "/" + params.get("address")); assertTexts("xpath=//table[@class='t-data-grid'][1]/thead[1]/tr[1]/th[%d]/a[1]", new String[] { "Name", "Id", "Address", "Age", "Gender" }); assertTexts("xpath=//table[@class='t-data-grid'][1]/tbody[1]/tr[1]/td[%d]", new String[] { "Taha", "1", "Srinagar", "32", "Male", "Computers" }); click("xpath=//div[@class='t-entity-new'][1]/a[1]"); Thread.sleep(1500); assertTextPresent("User Details"); click("//form[1]//button[2]");//cancel button assertTextUsingJS("message", "canceled"); click("xpath=//div[@class='t-entity-new'][1]/a[1]"); Thread.sleep(1500); click("//form[1]//button[1]");//delete button assertTextUsingJS("message", "deleted"); } private void assertTexts(String xpath, String[] values) { for (int i = 0; i < values.length; ++i) { assertText(String.format(xpath, i + 1), values[i]); } } }