Blame view

src/test/java/com/buyer/pageObject/KeywordResultPage.java 3.22 KB
c98c375e   Administrator   all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  package com.buyer.pageObject;

  

  import org.openqa.selenium.By;

  import org.openqa.selenium.WebDriver;

  import org.openqa.selenium.WebElement;

  import org.openqa.selenium.support.FindBy;

  

  import com.essa.framework.BasePage;

  import com.essa.framework.Model;

  

  /**

   * 关键字查询结果页

   * @author Administrator

   *

   */

  public class KeywordResultPage extends BasePage {

  	public KeywordResultPage(WebDriver driver) {

  		super(driver);

  	}

  	/*

  	 * 元素定位

  	 */

  	//加入购物车

  	@FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[1]/div[1]/div[4]/div[2]")

  	WebElement addToCart;

  	

a62053f7   Administrator   add scene
27
  	//确认添加

c98c375e   Administrator   all
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  	@FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[2]/div[3]/div[1]")

  	WebElement confirmAdd;

  	

  	//添加购物车时,提示加入一款成功toast

  	@FindBy (xpath ="//*[@class='util-bill-pd']")

  	WebElement toast;

  	

  	//右上角购物车

  	@FindBy (xpath ="//*[@id='miniCart']")

  	WebElement minicart;

  	

  	//订购量

  	@FindBy (xpath="//*[contains(text(),'quantity')]/../span[2]/input")

  	WebElement count;

  	

  	//活动商品-添加购物车

a62053f7   Administrator   add scene
44
  	@FindBy (xpath ="//*[@class='btn-box']/div[2]")

c98c375e   Administrator   all
45
46
  	WebElement addToCart1;

  	

a62053f7   Administrator   add scene
47
48
49
50
  	//查询输入框

  	@FindBy (xpath ="//*[@class='search-tx']/input")

  	WebElement searchText;

  	

c98c375e   Administrator   all
51
52
53
54
55
56
57
58
  	/*

  	 * 页面方法

  	 */

  	/**

  	 * 加入到购物车中,且会进入购物车校验是否加入成功

  	 * @return ShoppingCartPage

  	 */

  	public ShoppingCartPage addToCart() {

a62053f7   Administrator   add scene
59
  		if (Model.getIsactivity() == 0) {//该sku为非活动商品

c98c375e   Administrator   all
60
61
62
63
  			click(addToCart);

  			forceWait(1000);

  			click(count);

  			sendKeys(count, "50");

a62053f7   Administrator   add scene
64
  		}else if (Model.getIsactivity() == 1) {//该sku为活动商品

c98c375e   Administrator   all
65
66
67
68
69
70
71
  			click(addToCart1);

  			forceWait(1000);

  			click(count);

  			sendKeys(count, "200");

  		}

  		

  		click(confirmAdd);

a62053f7   Administrator   add scene
72
  		dynamicWait(By.xpath("//*[@class='util-bill-pd']"));

c98c375e   Administrator   all
73
74
  		forceWait(1000);

  		click(minicart);

a62053f7   Administrator   add scene
75
76
77
  		if (Model.getIsactivity() == 1) {

  			getManager();//找出对应的类目经理

  		}

c98c375e   Administrator   all
78
79
80
81
82
  		return new ShoppingCartPage(driver);

  	}

  	/**

  	 * 由于操作过快,系统会提示:有人正在操作

  	 * sku加入到购物车,但不进入购物车,防止无法操作后续的拼柜

a62053f7   Administrator   add scene
83
  	 * 此方法与addToCart()一样,只是不进入购物车

c98c375e   Administrator   all
84
85
86
87
88
89
90
91
92
93
94
95
96
97
  	 */

  	public void addSku() {

  		if (Model.getIsactivity() == 0) {

  			click(addToCart);

  			forceWait(1000);

  			click(count);

  			sendKeys(count, "50");

  		}else if (Model.getIsactivity() == 1) {

  			click(addToCart1);

  			forceWait(1000);

  			click(count);

  			sendKeys(count, "200");

  		}

  		click(confirmAdd);

a62053f7   Administrator   add scene
98
99
100
101
  		dynamicWait(By.xpath("//*[@class='util-bill-pd']"));

  		if (Model.getIsactivity() == 1) {

  			sendKeys(searchText, "查询数据库ing……程序还在进行,无聊可以先去撩撩妹子呀!");

  			getManager();//找出对应的类目经理

c98c375e   Administrator   all
102
  		}

a62053f7   Administrator   add scene
103
104
105
106
107
108
109
110
111
112
113
114
  	}

  	

  	/**

  	 * 根据sql查出商品对应类目经理,并在model类中设置其值

  	 */

  	public void getManager() {

  		//查找商品对应的类目经理sql

  		String sql = "SELECT u.account_name from prd_goods g \r\n" + 

  				"LEFT JOIN prd_goods_sku s on g.id = s.goods_id\r\n" + 

  				"LEFT JOIN pri_user u on u.id = g.category_manager_id\r\n" + 

  				"where s.`no` in ("+Model.getSkuNo()+");";

  		Model.setManager(DBSqlSearch(sql, "account_name"));

c98c375e   Administrator   all
115
116
  	}

  }