运行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

你看这个一个一个下来直接说你//img.mukewang.com/szimg/5c77ee5500019cde15360272.jpg这里有一个空指针,说明你这里某个对象木有。你去看你driver 空的。浏览器打开了么?

0
1
xy36
浏览器打开了,无法登录
2019-03-04
共1条回复

Web自动化测试 Selenium基础到企业应用

零基础学习Web自动化,测试面试必问技术点解答,高薪在向你招手

1237 学习 · 862 问题

查看课程