IndexPage.java
3.61 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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 IndexPage extends BasePage {
public IndexPage(WebDriver driver) {
super(driver);
}
/*
* 元素定位
*/
//登录-sign in
@FindBy (xpath ="//*[@id='SignIn']/a")
WebElement signIn;
//注册-register
@FindBy (xpath ="//*[@class='u-login']/a")
WebElement register;
//关键字输入框
@FindBy (xpath ="//*[@class='search-tx']/input")
WebElement searchText;
//查询按钮
@FindBy (xpath ="//*[@class='btn btn-primary search-btn']")
WebElement searchButton;
//绑定手机弹窗-关闭按钮
@FindBy (xpath ="//*[contains(@class,'layui-layer-close1')]")
WebElement closed;
//右上角购物车
@FindBy (xpath ="//*[@id='miniCart']")
WebElement minicart;
/*
* 页面方法
*/
/**
* 进入登录页面
* @return BuyerLoginPage
*/
public BuyerLoginPage toLoginPage() {
click(signIn);
return new BuyerLoginPage(driver);
}
/**
* 进入注册页面
* @return RegisterPage
*/
public RegisterPage toRegisterPage() {
click(register);
return new RegisterPage(driver);
}
/**
* 进入购物车
* @return ShoppingCartPage
*/
public ShoppingCartPage toShoppingCartPage() {
if (isVisibility(By.xpath("//*[@id='bind-phone']"))) {
click(closed);
}
click(minicart);
return new ShoppingCartPage(driver);
}
/**
* 关键字搜索商品
* @return KeywordResultPage
*/
public KeywordResultPage keywordSearch() {
//判断是否绑定手机
if (isVisibility(By.xpath("//*[@id='bind-phone']"))) {
click(closed);
}
//如果是非活动
if (Model.getIsactivity()==0 &&(Model.getSkuNo().equals("选填,勿填活动商品")||Model.getSkuNo().equals(""))) {
//判断是否自定义输入商品编号
String sql = "SELECT s.id,s.`no` from prd_category c\r\n" +
"LEFT JOIN prd_goods g on c.id = g.category_id\r\n" +
"LEFT JOIN prd_goods_sku s on s.goods_id = g.id\r\n" +
"where find_in_set(5,REPLACE(c.path,'.',','))\r\n" +
"AND s.`no` > 200000000\r\n" +
"AND s.id NOT IN (SELECT g.sku_id FROM sale_group_buy g)\r\n" +
"AND s.id NOT IN (SELECT t.sku_id FROM sale_shopping_cart t)\r\n" +
"AND s.src = 1\r\n" +
"AND s.`status` = 2\r\n" +
"AND s.is_stop_product = 0\r\n" +
"AND s.is_delete = 0\r\n" +
"limit 1";
Model.setSkuNo(DBSqlSearch(sql, "no"));
}else if (Model.getIsactivity()==1 &&( Model.getSkuNo().equals("选填,勿填非活动中商品")||Model.getSkuNo().equals(""))) {
//活动商品
String sql = "SELECT s.id,s.`no` from prd_category c\r\n" +
"LEFT JOIN prd_goods g on c.id = g.category_id\r\n" +
"LEFT JOIN prd_goods_sku s on s.goods_id = g.id\r\n" +
"LEFT JOIN sale_group_buy a on a.sku_id = s.id\r\n" +
"where s.`no` > 200000000\r\n" +
"AND s.id NOT IN (SELECT t.sku_id FROM sale_shopping_cart t)\r\n" +
"AND a.`status` = 20 \r\n" +
"limit 1;";
Model.setSkuNo(DBSqlSearch(sql, "no"));
}
sendKeys(searchText, Model.getSkuNo());
click(searchButton);
return new KeywordResultPage(driver);
}
/**
* 断言是否注册成功,根据是否有绑定手机号的弹窗来判断
* @return boolean
*/
public boolean isSucceed() {
return isVisibility(By.xpath("//*[contains(@class,'layui-layer-close1')]"));
}
}