1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package edu.sampleu.travel;
17  
18  import com.thoughtworks.selenium.SeleneseTestBase;
19  import org.junit.Assert;
20  import org.kuali.rice.testtools.common.JiraAwareFailable;
21  import org.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils;
22  import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
23  import org.kuali.rice.testtools.selenium.WebDriverUtils;
24  import org.openqa.selenium.Alert;
25  import org.openqa.selenium.By;
26  import org.openqa.selenium.WebElement;
27  
28  
29  
30  
31  
32  
33  public abstract class InquiryAftBase extends WebDriverLegacyITBase {
34  
35      
36  
37  
38  
39  
40  
41      public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL
42              + "?channelTitle=Travel%20Account%20Lookup&channelUrl="
43              + WebDriverUtils.getBaseUrlString() + AutomatedFunctionalTestUtils.KRAD_LOOKUP_METHOD
44              + "edu.sampleu.travel.bo.TravelAccount"
45              + "&returnLocation=" + AutomatedFunctionalTestUtils.PORTAL_URL + AutomatedFunctionalTestUtils.HIDE_RETURN_LINK + AutomatedFunctionalTestUtils.SHOW_MAINTENANCE_LINKS;
46  
47      
48  
49  
50      public static final String SEARCH_BUTTON_XPATH ="//div[contains(button, 'Search')]/button[3]";
51      
52      
53  
54  
55      public static final String CRITERIA_NAME="lookupCriteria";
56      
57      
58  
59  
60      public static final String FANCYBOX_IFRAME_XPATH="//iframe[@class='fancybox-iframe']";
61      
62      protected void navigation() throws Exception {
63          waitAndClickKRAD();
64          
65          waitAndClickByXpath("(//a[contains(text(),'Travel Account Lookup')])[3]");
66      }
67  
68      protected void testInquiryNav(JiraAwareFailable failable) throws Exception {
69          navigation();
70          testInquiry();
71          passed();
72      }
73  
74      protected void testInquiryBookmark(JiraAwareFailable failable) throws Exception {
75          testInquiry();
76          passed();
77      }
78  
79      protected void testInquiry() throws Exception {
80          selectFrameIframePortlet();
81          waitAndTypeByName(CRITERIA_NAME+"[number]", "a1");
82          waitAndClickByXpath("//*[@alt='Direct Inquiry']");
83          selectTopFrame();
84          Thread.sleep(5000);
85          WebElement iframe1 = driver.findElement(By.xpath(FANCYBOX_IFRAME_XPATH));
86          driver.switchTo().frame(iframe1);
87          SeleneseTestBase.assertEquals("Travel Account Inquiry", getTextByXpath("//h1/span").trim());
88          assertElementPresentByLinkText("a1");
89          selectTopFrame();
90          waitAndClickByXpath("//div[@class='fancybox-item fancybox-close']");
91          selectFrameIframePortlet();
92          waitAndClickByXpath("//button[contains(text(),'Clear Values')]");
93  
94          
95          Thread.sleep(2000);
96          waitAndClickByXpath("//*[@alt='Direct Inquiry']");
97          Alert a1 = driver.switchTo().alert();
98          Assert.assertEquals("Please enter a value in the appropriate field.", a1.getText());
99          a1.accept();
100         switchToWindow("null");
101         selectFrameIframePortlet();
102 
103         
104         waitAndTypeByName(CRITERIA_NAME+"[foId]", "1");
105         waitAndClickByXpath("//*[@id='u229']");
106         selectTopFrame();
107         Thread.sleep(5000);
108         WebElement iframe2 = driver.findElement(By.xpath(FANCYBOX_IFRAME_XPATH));
109         driver.switchTo().frame(iframe2);
110         Assert.assertEquals("Fiscal Officer Lookup", getTextByXpath("//h1/span").trim());
111         Assert.assertEquals("1", waitAndGetAttributeByName(CRITERIA_NAME + "[id]", "value"));
112         waitAndClickByXpath(SEARCH_BUTTON_XPATH);
113         selectFrameIframePortlet();
114         selectOptionByName(CRITERIA_NAME+"[extension.accountTypeCode]", "CAT");
115         waitAndClickByXpath("//fieldset[@id='u232_fieldset']/input[@alt='Search Field']");
116         selectTopFrame();
117         Thread.sleep(5000);
118         WebElement iframe3 = driver.findElement(By.xpath(FANCYBOX_IFRAME_XPATH));
119         driver.switchTo().frame(iframe3);
120         Assert.assertEquals("Travel Account Type Lookup", getTextByXpath("//h1/span").trim());
121         Assert.assertEquals("CAT", waitAndGetAttributeByName(CRITERIA_NAME + "[accountTypeCode]", "value"));
122         waitAndClickByXpath(SEARCH_BUTTON_XPATH);
123         selectFrameIframePortlet();
124     }
125 }