| 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_Pickup 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 + "/" + "result8.html";
|
|
|
30 |
final String resultEncoding = "UTF-8";
|
|
|
31 |
final String screenshotpath="screenshot"+"/"+"8";
|
|
|
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("css=span.left");
|
|
|
72 |
selenium.waitForPageToLoad("30000");
|
|
|
73 |
Thread.sleep(8000);
|
|
|
74 |
//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals("Mobile Phone | saholic.com not Found","Mobile Phone | saholic.com", selenium.getTitle(),selenium);
|
|
|
75 |
verifyTrue(selenium.isElementPresent("id=catTab1-first"));
|
|
|
76 |
//verifyTrue(selenium.isElementPresent("id=catTab4-10001"));
|
|
|
77 |
//verifyTrue(selenium.isElementPresent("id=catTab3-10001"));
|
|
|
78 |
//verifyTrue(selenium.isElementPresent("id=catTab2-10001"));
|
|
|
79 |
verifyTrue(selenium.isElementPresent("css=div.productListTop"));
|
|
|
80 |
verifyTrue(selenium.isElementPresent("css=div.productListBottom"));
|
|
|
81 |
verifyTrue(selenium.isElementPresent("css=div.productDetails"));
|
|
|
82 |
verifyTrue(selenium.isElementPresent("css=div.sectionHeader"));
|
|
|
83 |
verifyTrue(selenium.isElementPresent("css=#filterByPrice > div.filterHeading > div.sectionHeader"));
|
|
|
84 |
verifyTrue(selenium.isElementPresent("css=div.ui-slider-range.ui-widget-header"));
|
|
|
85 |
//verifyTrue(selenium.isElementPresent("css=div.cart-top"));
|
|
|
86 |
//verifyTrue(selenium.isElementPresent("css=div.cart-middle"));
|
|
|
87 |
|
|
|
88 |
verifyTrue(selenium.isElementPresent("css=div.common-widget-top-bar-text"));
|
|
|
89 |
verifyTrue(selenium.isElementPresent("css=#browsehistory > div.common-widget-top-bar > div.common-widget-top-bar-text > span.common-widget-top-bar-text-right"));
|
|
|
90 |
//verifyTrue(selenium.isElementPresent(""));
|
|
|
91 |
//verifyTrue(selenium.isTextPresent("Sub Category"));
|
|
|
92 |
verifyTrue(selenium.isTextPresent("Price"));
|
|
|
93 |
verifyTrue(selenium.isTextPresent("Brand"));
|
|
|
94 |
verifyTrue(selenium.isTextPresent("Data Connectivity"));
|
|
|
95 |
verifyTrue(selenium.isTextPresent("Camera Resolution"));
|
|
|
96 |
//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Not able to buy Product",selenium.isElementPresent("dom=document.images[3]"),selenium);
|
|
|
97 |
for(int i=2;i<15;i++)
|
|
|
98 |
{
|
|
|
99 |
System.out.println("abc"+i+"");
|
|
|
100 |
selenium.isElementPresent("dom=document.images["+i+"]");
|
|
|
101 |
System.out.println("dom=document.images["+i+"]");
|
|
|
102 |
assertTrue("Not able to buy Product",selenium.isElementPresent("dom=document.images["+i+"]"));
|
|
|
103 |
selenium.click("dom=document.images["+i+"]");
|
|
|
104 |
Thread.sleep(20000);
|
|
|
105 |
selenium.waitForPageToLoad("30000");
|
|
|
106 |
Thread.sleep(8000);
|
|
|
107 |
com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Product detail element not found",selenium.isElementPresent("id=productDetail"),selenium);
|
|
|
108 |
//selenium.captureScreenshot(screenshotresultPath+"/"+"ErrorPage"+".png");
|
|
|
109 |
//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Failed assert",selenium.isElementPresent("id=productDetail"),selenium);
|
|
|
110 |
//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Cart Summary not displayed",selenium.isElementPresent("css=div.cart"),selenium);
|
|
|
111 |
|
|
|
112 |
//com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Cart Summary not displayed",selenium.isElementPresent("css=div.cart-top"),selenium);
|
|
|
113 |
verifyTrue(selenium.isElementPresent("css=#accessories > div.common-widget-top-bar > div.common-widget-top-bar-text"));
|
|
|
114 |
com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue("Add to card button not present",selenium.isElementPresent("id=addToCart"),selenium);
|
|
|
115 |
//verifyTrue(selenium.isElementPresent("css=div.cart-top"));
|
|
|
116 |
verifyTrue(selenium.isElementPresent("css=div.common-widget-top-bar-text"));
|
|
|
117 |
verifyTrue(selenium.isElementPresent("css=#myresearch > div.common-widget-top-bar > div.common-widget-top-bar-text"));
|
|
|
118 |
verifyTrue(selenium.isElementPresent("css=#browsehistory > div.common-widget-top-bar > div.common-widget-top-bar-text > span.common-widget-top-bar-text-right"));
|
|
|
119 |
//verifyTrue(selenium.isElementPresent("id=Image1"));
|
|
|
120 |
verifyEquals("Look n Feel", selenium.getText("//ul[@id='sideNav']/li[2]/a/span"));
|
|
|
121 |
verifyEquals("Introduction", selenium.getText("css=a.vt > span"));
|
|
|
122 |
verifyTrue(selenium.isElementPresent("css=span.common-widget-top-bar-text-right"));
|
|
|
123 |
selenium.setTimeout("60000");
|
|
|
124 |
selenium.click("id=addToCart");
|
|
|
125 |
Thread.sleep(10000);
|
|
|
126 |
if(selenium.isVisible("id=cboxLoadedContent"))
|
|
|
127 |
{
|
|
|
128 |
selenium.goBack();
|
|
|
129 |
Thread.sleep(15000);
|
|
|
130 |
//selenium.click("link=HOME");
|
|
|
131 |
continue;
|
|
|
132 |
}
|
|
|
133 |
break;
|
|
|
134 |
}
|
|
|
135 |
Thread.sleep(6000);
|
|
|
136 |
verifyEquals("Cart Details", selenium.getText("css=span.label"));
|
|
|
137 |
verifyEquals("Shipping Info.", selenium.getText("//div[@id='cartFlowHeader']/div[2]/span[2]"));
|
|
|
138 |
verifyEquals("Make Payment", selenium.getText("//div[@id='cartFlowHeader']/div[3]/span[2]"));
|
|
|
139 |
verifyEquals("Order Status", selenium.getText("//div[@id='cartFlowHeader']/div[4]/span[2]"));
|
|
|
140 |
verifyTrue(selenium.isElementPresent("id=zipcode"));
|
|
|
141 |
verifyTrue(selenium.isElementPresent("id=computeEstimate"));
|
|
|
142 |
verifyEquals("Total Amount:", selenium.getText("css=tr.total-amount.payable > td.label"));
|
|
|
143 |
Thread.sleep(6000);
|
|
|
144 |
verifyTrue(selenium.isElementPresent("xpath=//div[@class='cartflow-main-action-button right checkout-button-below']"));
|
|
|
145 |
selenium.click("xpath=//div[@class='cartflow-main-action-button right checkout-button-below']");
|
|
|
146 |
Thread.sleep(6000);
|
|
|
147 |
selenium.type("id=loginEmail", "kshitijsood@ymail.com");
|
|
|
148 |
selenium.type("id=loginPassword", "123abc");
|
|
|
149 |
selenium.click("id=submitAddress");
|
|
|
150 |
selenium.waitForPageToLoad("30000");
|
|
|
151 |
verifyEquals("Shipping Info.", selenium.getText("//div[@id='cartFlowHeader']/div/span[2]"));
|
|
|
152 |
verifyEquals("Item & Color", selenium.getText("css=th.first"));
|
|
|
153 |
verifyEquals("Delivery Time", selenium.getText("//table[@id='cartDetail']/thead/tr/th[2]"));
|
|
|
154 |
verifyEquals("Total Price", selenium.getText("//table[@id='cartDetail']/thead/tr/th[3]"));
|
|
|
155 |
verifyTrue(selenium.isTextPresent("Select Shipping Address"));
|
|
|
156 |
Thread.sleep(5000);
|
|
|
157 |
com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals("Proceed to payment button not present","PROCEED TO PAYMENT >", selenium.getText("id=proceedToPay"),selenium);
|
|
|
158 |
selenium.click("id=tab-right");
|
|
|
159 |
Thread.sleep(10000);
|
|
|
160 |
selenium.select("id=zone-selector","label=Ghaziabad");
|
|
|
161 |
Thread.sleep(5000);
|
|
|
162 |
if(selenium.isElementPresent("id=selectStoreAddress_12") && selenium.isElementPresent("id=selectStoreAddress_10"))
|
|
|
163 |
{
|
|
|
164 |
selenium.click("id=selectStoreAddress_10");
|
|
|
165 |
}
|
|
|
166 |
Thread.sleep(10000);
|
|
|
167 |
selenium.click("id=proceedToPay");
|
|
|
168 |
selenium.waitForPageToLoad("30000");
|
|
|
169 |
Thread.sleep(5000);
|
|
|
170 |
assertEquals("Make Payment", selenium.getText("//div[@id='cartFlowHeader']/div/span[2]"));
|
|
|
171 |
assertEquals("Order Amount:", selenium.getText("css=h4 > span"));
|
|
|
172 |
String htmlstr = selenium.getBodyText();
|
|
|
173 |
//System.out.println("Index is " + pos);
|
|
|
174 |
int pos = htmlstr.indexOf("Order Amount:");
|
|
|
175 |
//System.out.println("Index is " + pos);
|
|
|
176 |
int pos1=pos+16;
|
|
|
177 |
int pos2=pos+28;
|
|
|
178 |
String amount;
|
|
|
179 |
amount = htmlstr.substring(pos1, pos2);
|
|
|
180 |
//System.out.println("pos1 pos2" + pos1 + ":" + pos2);
|
|
|
181 |
//int price=Integer.parseInt(amount);
|
|
|
182 |
//System.out.println("Amount : :" + amount + ":" + price );
|
|
|
183 |
amount=amount.replaceAll(",", "");
|
|
|
184 |
System.out.println("Amount : :" + amount);
|
|
|
185 |
///double price = Integer.parseInt(amount);
|
|
|
186 |
double price = Double.parseDouble(amount);
|
|
|
187 |
System.out.println("Price : :" + price);
|
|
|
188 |
verifyTrue(selenium.isTextPresent("CREDIT CARDS"));
|
|
|
189 |
verifyTrue(selenium.isTextPresent("EMI"));
|
|
|
190 |
verifyTrue(selenium.isTextPresent("DEBIT/ATM CARDS"));
|
|
|
191 |
verifyTrue(selenium.isTextPresent("NET BANKING"));
|
|
|
192 |
verifyTrue(selenium.isTextPresent("CASH CARDS"));
|
|
|
193 |
if((price > 250) && (price < 20000))
|
|
|
194 |
{
|
|
|
195 |
verifyTrue(selenium.isTextPresent("PAY IN STORE"));
|
|
|
196 |
selenium.click("//div[@id='vtab']/ul/li[6]");
|
|
|
197 |
assertTrue(selenium.isElementPresent("id=captchaImage"));
|
|
|
198 |
assertTrue(selenium.isElementPresent("css=div.text-center > input.make-payment-button"));
|
|
|
199 |
}
|
|
|
200 |
selenium.deleteAllVisibleCookies();
|
|
|
201 |
}
|
|
|
202 |
@After
|
|
|
203 |
public void tearDown() throws Exception {
|
|
|
204 |
selenium.stop();
|
|
|
205 |
//stopSeleniumServer();
|
|
|
206 |
try {
|
|
|
207 |
if (null != loggingWriter) {
|
|
|
208 |
loggingWriter.close();
|
|
|
209 |
}
|
|
|
210 |
} catch (IOException e) {
|
|
|
211 |
System.out.println("IO exception");
|
|
|
212 |
}
|
|
|
213 |
}
|
|
|
214 |
}
|