Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8614 kshitij.so 1
package com;
2
import java.io.BufferedWriter;
3
import java.io.File;
4
import java.io.IOException;
5
 
6
import com.thoughtworks.selenium.*;
7
import com.unitedinternet.portal.selenium.utils.logging.HtmlResultFormatter;
8
import com.unitedinternet.portal.selenium.utils.logging.LoggingCommandProcessor;
9
import com.unitedinternet.portal.selenium.utils.logging.LoggingDefaultSelenium;
10
import com.unitedinternet.portal.selenium.utils.logging.LoggingResultsFormatter;
11
import com.unitedinternet.portal.selenium.utils.logging.LoggingSelenium;
12
import com.unitedinternet.portal.selenium.utils.logging.LoggingUtils;
13
//import static com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals;
14
//import static com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue;
15
import org.junit.After;
16
import org.junit.Before;
17
import org.junit.Test;
18
//import org.openqa.selenium.server.SeleniumServer;
19
 
20
//import java.util.regex.Pattern;
21
 
22
public class Buyproductonprod_specialdeals extends SeleneseTestBase {
23
 
24
 
25
	BufferedWriter loggingWriter;
26
	protected LoggingSelenium selenium;
27
	final String resultbasePath = "/opt/seleniumTests/results/prod";
28
	//final String resultbasePath = "/opt/seleniumTests/results";
29
    final String resultHtmlFileName = resultbasePath + "/" + "result6.html";
30
    final String resultEncoding = "UTF-8";	    
31
    final String screenshotpath="screenshot";
32
    final String screenshotresultPath=new File("/var/www/results"+"/"+screenshotpath).getAbsolutePath();
33
	@Before
34
	public void setUp() throws Exception {
35
		if (!new File(screenshotresultPath).exists()) {
36
			 new File(screenshotresultPath).mkdirs();
37
		}
38
	    loggingWriter = LoggingUtils.createWriter(resultHtmlFileName, resultEncoding , true);
39
	    LoggingResultsFormatter htmlFormatter = 
40
	        new HtmlResultFormatter(loggingWriter, resultEncoding);
41
	   htmlFormatter.setScreenShotBaseUri("/results"+"/"+screenshotpath+"/"); // this is for linking to the screenshots
42
	   htmlFormatter.setAutomaticScreenshotPath(screenshotresultPath);
43
	    // wrap HttpCommandProcessor from remote-control
44
	    LoggingCommandProcessor myProcessor = 
45
	    //new LoggingCommandProcessor(new HttpCommandProcessor("localhost", 4444, "*firefox", "http://saholic:shop2020@shop2020.in:8080/"), htmlFormatter);
46
	    new LoggingCommandProcessor(new HttpCommandProcessor("localhost", 4444, "*firefox", "http://saholic.com/"), htmlFormatter);
47
	    selenium = new LoggingDefaultSelenium(myProcessor);
48
	    myProcessor.setExcludedCommands(new String[] {});
49
	    selenium.start();	
50
	}
51
 
52
	@Test(expected=AssertionError.class)
53
	public void testBuyproductonprod() throws Exception {
54
		selenium.setContext("testBuyprodonprod()");
55
		selenium.setTimeout("180000");
56
		selenium.open("/");
57
		selenium.windowMaximize();
58
		com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals("Page Title Mobile Phone Reviews and Best Deals in India | saholic.com not Found","Mobile Phone Reviews and Best Deals in India | saholic.com", selenium.getTitle(),selenium);
59
		verifyTrue(selenium.isElementPresent("css=img[alt=\"Saholic\"]"));
60
		verifyTrue(selenium.isTextPresent("Search"));
61
		verifyTrue(selenium.isElementPresent("id=searchButton"));
62
		verifyEquals("BEST DEALS", selenium.getText("css=div.home-listing-common-header-text > span.left"));
63
		verifyTrue(selenium.isElementPresent("//div[@id='products']/div[2]/div/div/span"));
64
		//verifyTrue(selenium.isElementPresent("css=div.cart-top"));
65
		verifyTrue(selenium.isElementPresent("css=span.common-widget-top-bar-text-right"));
66
		verifyTrue(selenium.isElementPresent("css=#browsehistory > div.common-widget-top-bar > div.common-widget-top-bar-text > span.common-widget-top-bar-text-right"));
67
		verifyEquals("BEST SELLERS", selenium.getText("//div[@id='products']/div[3]/div/div/span"));
68
		verifyTrue(selenium.isElementPresent("css=div.home-listing-common-content.best-sellers"));
69
		verifyTrue(selenium.isElementPresent("css=div.home-listing-common-content.latest-arrivals"));
70
		verifyTrue(selenium.isElementPresent("css=div.home-listing-common-content.best-deals"));
71
		selenium.click("link=Special Deals");
72
		selenium.waitForPageToLoad("30000");
73
		Thread.sleep(8000);
74
		com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals("Best Mobile Phone Deals | saholic.com not Found","Best Mobile Phone Deals | saholic.com", selenium.getTitle(),selenium);
75
		//verifyTrue(selenium.isElementPresent("css=div.cart-top"));
76
		//verifyTrue(selenium.isElementPresent("css=div.cart-middle"));
77
 
78
        verifyTrue(selenium.isElementPresent("css=div.common-widget-top-bar-text"));
79
        verifyTrue(selenium.isElementPresent("css=#browsehistory > div.common-widget-top-bar > div.common-widget-top-bar-text > span.common-widget-top-bar-text-right"));
80
        //verifyTrue(selenium.isElementPresent(""));
81
        for(int i=1;i<15;i++)
82
		{
83
			System.out.println("abc"+i+"");
84
			selenium.isElementPresent("dom=document.images["+i+"]");
85
			System.out.println("dom=document.images["+i+"]");
86
			assertTrue("Not able to buy Product",selenium.isElementPresent("dom=document.images["+i+"]"));
87
		selenium.click("dom=document.images["+i+"]");
88
		Thread.sleep(20000);
89
		selenium.waitForPageToLoad("30000");
90
		Thread.sleep(8000);
91
		com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Product detail element not found",selenium.isElementPresent("id=productDetail"),selenium);
92
		//selenium.captureScreenshot(screenshotresultPath+"/"+"ErrorPage"+".png");
93
		//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Failed assert",selenium.isElementPresent("id=productDetail"),selenium);
94
		//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Cart Summary not displayed",selenium.isElementPresent("css=div.cart"),selenium);
95
 
96
		//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Cart Summary not displayed",selenium.isElementPresent("css=div.cart-top"),selenium);
97
		//verifyTrue(selenium.isElementPresent("css=#accessories > div.common-widget-top-bar > div.common-widget-top-bar-text"));
98
		com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Add to card button not present",selenium.isElementPresent("id=addToCart"),selenium);
99
		//verifyTrue(selenium.isElementPresent("css=div.cart-top"));
100
		verifyTrue(selenium.isElementPresent("css=div.common-widget-top-bar-text"));
101
		verifyTrue(selenium.isElementPresent("css=#myresearch > div.common-widget-top-bar > div.common-widget-top-bar-text"));
102
		verifyTrue(selenium.isElementPresent("css=#browsehistory > div.common-widget-top-bar > div.common-widget-top-bar-text > span.common-widget-top-bar-text-right"));
103
        //verifyTrue(selenium.isElementPresent("id=Image1"));
104
		verifyEquals("Look n Feel", selenium.getText("//ul[@id='sideNav']/li[2]/a/span"));
105
		verifyEquals("Introduction", selenium.getText("css=a.vt > span"));
106
		verifyTrue(selenium.isElementPresent("css=span.common-widget-top-bar-text-right"));
107
		selenium.setTimeout("60000");
108
		selenium.click("id=addToCart");
109
		Thread.sleep(10000);
110
		if(selenium.isVisible("id=cboxLoadedContent"))
111
		{
112
			selenium.goBack();
113
			Thread.sleep(15000);
114
			continue;
115
		}
116
		break;
117
		}
118
		Thread.sleep(8000);
119
		verifyEquals("Cart Details", selenium.getText("css=span.label"));
120
		verifyEquals("Shipping Info.", selenium.getText("//div[@id='cartFlowHeader']/div[2]/span[2]"));
121
		verifyEquals("Make Payment", selenium.getText("//div[@id='cartFlowHeader']/div[3]/span[2]"));
122
		verifyEquals("Order Status", selenium.getText("//div[@id='cartFlowHeader']/div[4]/span[2]"));
123
		verifyTrue(selenium.isElementPresent("id=zipcode"));
124
		verifyTrue(selenium.isElementPresent("id=computeEstimate"));
125
		verifyEquals("Total Amount:", selenium.getText("css=tr.total-amount.payable > td.label"));
126
		Thread.sleep(6000);
127
		verifyTrue(selenium.isElementPresent("xpath=//div[@class='cartflow-main-action-button right checkout-button-below']"));
128
		selenium.click("xpath=//div[@class='cartflow-main-action-button right checkout-button-below']");
129
		Thread.sleep(6000);
130
		selenium.type("id=loginEmail", "kshitijsood@ymail.com");
131
		selenium.type("id=loginPassword", "123abc");
132
		selenium.click("id=submitAddress");
133
		selenium.waitForPageToLoad("30000");
134
		verifyEquals("Shipping Info.", selenium.getText("//div[@id='cartFlowHeader']/div/span[2]"));
135
		verifyEquals("Item & Color", selenium.getText("css=th.first"));
136
		verifyEquals("Delivery Time", selenium.getText("//table[@id='cartDetail']/thead/tr/th[2]"));
137
		verifyEquals("Total Price", selenium.getText("//table[@id='cartDetail']/thead/tr/th[3]"));
138
		verifyTrue(selenium.isTextPresent("Select Shipping Address"));
139
		Thread.sleep(5000);
140
		com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals("Proceed to payment button not present","PROCEED TO PAYMENT >", selenium.getText("id=proceedToPay"),selenium);
141
		selenium.click("id=proceedToPay");
142
		selenium.waitForPageToLoad("30000");
143
		Thread.sleep(5000);
144
		assertEquals("Make Payment", selenium.getText("//div[@id='cartFlowHeader']/div/span[2]"));
145
		assertEquals("Order Amount:", selenium.getText("css=h4 > span"));
146
		String htmlstr = selenium.getBodyText();
147
    	//System.out.println("Index is " + pos);
148
    	int pos = htmlstr.indexOf("Order Amount:");
149
    	//System.out.println("Index is " + pos);
150
    	int pos1=pos+16;
151
    	int pos2=pos+28;
152
    	String amount;
153
    	amount = htmlstr.substring(pos1, pos2);
154
    	//System.out.println("pos1 pos2" + pos1 + ":" + pos2);
155
    	//int price=Integer.parseInt(amount);
156
    	//System.out.println("Amount : :" + amount + ":" + price );
157
    	amount=amount.replaceAll(",", "");
158
    	System.out.println("Amount : :" + amount);
159
    	///double price = Integer.parseInt(amount);
160
    	double price = Double.parseDouble(amount);
161
    	System.out.println("Price : :" + price);
162
    	verifyTrue(selenium.isTextPresent("CREDIT CARDS"));
163
		verifyTrue(selenium.isTextPresent("EMI"));
164
		verifyTrue(selenium.isTextPresent("DEBIT/ATM CARDS"));
165
		verifyTrue(selenium.isTextPresent("NET BANKING"));
166
		verifyTrue(selenium.isTextPresent("CASH CARDS"));
167
		assertTrue(selenium.isElementPresent("css=input.make-payment-button"));
168
		if((price > 300) && (price < 20000))
169
		{
170
		verifyTrue(selenium.isTextPresent("CASH ON DELIVERY"));	
171
		selenium.click("//div[@id='vtab']/ul/li[6]");
172
		verifyTrue(selenium.isElementPresent("id=captcha_response_box"));
173
		assertTrue(selenium.isElementPresent("id=captchaImage"));
174
		assertTrue(selenium.isElementPresent("css=div.text-center > input.make-payment-button"));
175
		}
176
		selenium.deleteAllVisibleCookies();
177
	}
178
	@After
179
	public void tearDown() throws Exception {
180
		selenium.stop();
181
        //stopSeleniumServer();
182
		try {
183
	        if (null != loggingWriter) {
184
	            loggingWriter.close();
185
	        }
186
	    } catch (IOException e) {
187
	      System.out.println("IO exception");
188
	    }
189
	}
190
}