001 /** 002 * Copyright 2005-2011 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package edu.samplu.travel.test; 017 018 import com.thoughtworks.selenium.DefaultSelenium; 019 import com.thoughtworks.selenium.Selenium; 020 import org.junit.After; 021 import org.junit.Before; 022 import org.junit.Test; 023 024 import static org.junit.Assert.assertEquals; 025 /** 026 * tests that user 'admin', can initiate, save and submit a FiscalOfficerInfo maintenance document 027 * resulting in a final document 028 * 029 * @author Kuali Rice Team (rice.collab@kuali.org) 030 */ 031 public class FiscalOfficerInfoMaintenanceNewIT { 032 private Selenium selenium; 033 @Before 034 public void setUp() throws Exception { 035 //---- 3rd parameter(*firefox) can also be replaced by *chrome , *googlechrome. 036 selenium = new DefaultSelenium("localhost", 4444, "*firefox", System.getProperty("remote.public.url")); 037 selenium.start(); 038 } 039 040 @Test 041 public void testUntitled() throws Exception { 042 selenium.open(System.getProperty("remote.public.url")); 043 selenium.type("__login_user", "admin"); 044 selenium.click("//input[@value='Login']"); 045 selenium.waitForPageToLoad("50000"); 046 selenium.click("link=KRAD"); 047 selenium.waitForPageToLoad("50000"); 048 selenium.click("//a[@title='FiscalOfficerInfo Maintenance (New)']"); 049 selenium.waitForPageToLoad("50000"); 050 selenium.selectFrame("iframeportlet"); 051 // String docId = selenium.getText("//span[contains(@id , '_attribute_span')][position()=1]"); 052 String docId = selenium.getText("//div[@id='headerarea']/div/table/tbody/tr[1]/td[1]"); 053 selenium.type("//input[@name='document.documentHeader.documentDescription']", "New FO Doc"); 054 selenium.type("//input[@name='document.newMaintainableObject.dataObject.id']", "5"); 055 selenium.type("//input[@name='document.newMaintainableObject.dataObject.userName']", "Jigar"); 056 057 // selenium.type("newCollectionLines['document.newMaintainableObject.dataObject.accounts'].number", "123123"); 058 // selenium.type("xpath = //input[@name='document.newMaintainableObject.dataObject.accounts[0].number']", "123123"); 059 // selenium.type("//input[contains(@name , '.number')]", "123123"); 060 // selenium.type("newCollectionLines['document.newMaintainableObject.dataObject.accounts'].name", "ChrisTravelAcc"); 061 // selenium.type("xpath = //input[@name='document.newMaintainableObject.dataObject.accounts[0].name']", "ChrisTravelAcc"); 062 // selenium.type("//input[contains(@name , '.name')]", "JustinTravelAcc"); 063 // selenium.click("add"); 064 // selenium.click("//input[@value='add']"); 065 // System.out.println("adding Row"); 066 // selenium.wait(90000); 067 068 selenium.click("//button[@value='save']"); 069 070 int docIdInt = Integer.valueOf(docId).intValue(); 071 072 selenium.waitForPageToLoad("50000"); 073 selenium.selectFrame("relative=up"); 074 selenium.click("//img[@alt='action list']"); 075 selenium.waitForPageToLoad("50000"); 076 selenium.selectFrame("iframeportlet"); 077 if(selenium.isElementPresent("link=Last")){ 078 selenium.click("link=Last"); 079 selenium.waitForPageToLoad("50000"); 080 selenium.click("link="+docIdInt); 081 } else { 082 selenium.click("link="+docIdInt); 083 } 084 085 Thread.sleep(5000); 086 String[] windowTitles = selenium.getAllWindowTitles(); 087 selenium.selectWindow(windowTitles[1]); 088 selenium.windowFocus(); 089 assertEquals(windowTitles[1], selenium.getTitle()); 090 091 //------submit-----// 092 selenium.selectFrame("relative=up"); 093 selenium.click("//button[@value='submit']"); 094 selenium.waitForPageToLoad("50000"); 095 selenium.close(); 096 //------submit over---// 097 098 //----step 2----// 099 selenium.selectWindow("null"); 100 selenium.windowFocus(); 101 selenium.click("//img[@alt='doc search']"); 102 selenium.waitForPageToLoad("50000"); 103 assertEquals(windowTitles[0], selenium.getTitle()); 104 selenium.selectFrame("iframeportlet"); 105 selenium.click("//input[@name='methodToCall.search' and @value='search']"); 106 selenium.waitForPageToLoad("50000"); 107 //----step 2 over ----// 108 109 //-----Step 3 verifies that doc is final-------// 110 assertEquals("FINAL", selenium.getText("//table[@id='row']/tbody/tr[1]/td[4]")); 111 selenium.selectFrame("relative=up"); 112 selenium.click("link=Main Menu"); 113 selenium.waitForPageToLoad("50000"); 114 assertEquals(windowTitles[0], selenium.getTitle()); 115 System.out.println("---------------------- :: Test complete :: ----------------------"); 116 //-----Step 3 verified that doc is final -------// 117 118 } 119 120 @After 121 public void tearDown() throws Exception { 122 selenium.stop(); 123 } 124 }