运行testCase里面的login.java报错
来源:8-17 自动化测试报告
xy36
2019-02-28
login.java代码
package test.java.com.cxy.selenium.testCase;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.openqa.selenium.WebElement;
import test.java.com.cxy.selenium.base.DriverBase;
import test.java.com.cxy.selenium.business.*;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.openqa.selenium.By;
import test.java.com.cxy.selenium.page.OrderPayPage;
import test.java.com.cxy.selenium.util.getByLocator;
import java.util.concurrent.TimeUnit;
/**
-
Created by hustcxy on 2019/2/25.
*/
public class login extends CaseBase{
public DriverBase driver;
public LoginPro loginPro;
public HomePagePro homepagePro;
public CoursePagePro cpp;
public SureOrderPagePro sopp;
public OrderPayPagePro opp;
static Logger logger = Logger.getLogger(login.class);
public login(){
this.driver = InitDriver(“chrome”);
driver.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
loginPro = new LoginPro(driver);
homepagePro = new HomePagePro(driver);
opp = new OrderPayPagePro(driver);
cpp = new CoursePagePro(driver);
sopp = new SureOrderPagePro(driver);}
public login(DriverBase driver){
this.driver = driver;
driver.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
loginPro = new LoginPro(driver);
homepagePro = new HomePagePro(driver);}
@Test
public void getLoginHome(){
driver.get(“http://coding.imooc.com/”);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
homepagePro.clickLoginButton();
}@Test(dependsOnMethods = {“getLoginHome”})
public void testLogin(){
//logger.debug(“这个是我们第一次使用log4j打印日志~~~~~~~~~~~”);
//PropertyConfigurator.configure(“log4j.properties”);
String username = “18513199586”;
String pass = “111111”;
loginPro.login(username,pass);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.get(“http://coding.imooc.com/class/74.html”);
}/**
- 立即购买
*/
@Test(dependsOnMethods = {“testLogin”})
public void TestAddCart(){
cpp.buyNow();
}
/**
- 提交订单
*/
@Test(dependsOnMethods = {“TestAddCart”})
public void TestSureOrder(){
sopp.sureOrder();
}
/**
- 跳转支付页面
*/
@Test(dependsOnMethods = {“TestSureOrder”})
public void TestGoPay(){
opp.orderPayPro();
}
/**
- 下单流程
/
/ public void downOrder(){
driver.get(“http://coding.imooc.com/class/105.html”);
String currentText = this.buyCourseNow();
System.out.println(“当前课程信息”+currentText);
this.sureOrder();
this.getOrder();
String orderCourseText = this.getOrderCourse();
System.out.println(“订单页面课程信息”+orderCourseText);
if(currentText.equals(orderCourseText)){
System.out.println(“下单成功”);
}
}*/
/**
- 获取element
- 也可以是父element
*/
public WebElement getElement(By by){
return driver.findElement(by);
}
/**
- 通过父节点,获取子节点
*/
public WebElement getElement(WebElement element,By by){
return element.findElement(by);
}
/**
- 获取课程信息
*/
public String getCourseText(WebElement element){
return element.getText();
}
/**
- 立即购买,然后返回课程信息
*/
public String buyCourseNow(){
WebElement element = this.getElement(getByLocator.getLocator(“courseInfo”));
WebElement elementNode = this.getElement(element,getByLocator.getLocator(“courseInfoText”));
String currentText = this.getCourseText(elementNode);
driver.click(this.getElement(getByLocator.getLocator(“buyNow”)));
return currentText;
}
/**
- 点击确定订单
*/
public void sureOrder(){
driver.click(this.getElement(getByLocator.getLocator(“sureOrder”)));
}
/**
- 获取订单号text
*/
public String getOrder(){
String orderText = this.getCourseText(this.getElement(getByLocator.getLocator(“order”)));
return orderText;
}
/**
- 获取支付中心商品信息
*/
public String getOrderCourse(){
WebElement element = this.getElement(getByLocator.getLocator(“orderCourse”));
WebElement elementNode = this.getElement(element,getByLocator.getLocator(“orderCourseNode”));
return this.getCourseText(elementNode);
}
- 立即购买
}


1回答
-
Mushishi
2019-02-28
你看这个一个一个下来直接说你
这里有一个空指针,说明你这里某个对象木有。你去看你driver 空的。浏览器打开了么?012019-03-04
相似问题
这里有一个空指针,说明你这里某个对象木有。你去看你driver 空的。浏览器打开了么?