食源送系统项目的测试

发布于:2024-08-02 ⋅ 阅读:(39) ⋅ 点赞:(0)

一、对整个系统编写测试用例

        功能测试

        

       

        性能测试

                兼容性测试

                易用性测试

 

        安全测试

二、接口测试

        针对接口的功能测试,也就是检验接口是否按照接口文档输入输出

        2.1 使用Postman发送HTTP请求

        

        2.2 使用Java + TestNG 编写自动化测试用例

                登录界面功能

package com.sky.test;

import org.junit.jupiter.api.Order;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;
public class LoginAndOut {
    public  static WebDriver driver;


    @BeforeClass
    @Order(1)
    public void openBrowser(){
        System.setProperty("webdriver.edge.driver" , "D:/EdgeDriver/msedgedriver.exe");
        //打开浏览器
        EdgeOptions options = new EdgeOptions();
        options.addArguments("--remote-allow-origins=*");
        driver = new EdgeDriver(options);
        System.out.println(driver);
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    }

    /**
     * 登录,登出
     * @throws InterruptedException
     */
    @org.testng.annotations.Test
    @Order(2)
    public void Login() throws InterruptedException {
//        driver = new E;
        driver.get("http://www.localhost:81");
        driver.manage().window().maximize();
        driver.findElement(By.xpath("//input[@placeholder='账号']")).clear();
        driver.findElement(By.xpath("//input[@placeholder='账号']")).sendKeys("admin");
        Thread.sleep(1000);
        driver.findElement(By.xpath("//input[@placeholder='密码']")).clear();
        driver.findElement(By.xpath("//input[@placeholder='密码']")).sendKeys("123456");
        Thread.sleep(1000);
        driver.findElement(By.xpath("//span[text()='登录']")).click();
        Thread.sleep(1000);
        driver.findElement(By.xpath("/html/body/div[2]/div/div[2]")).click();
        driver.findElement(By.xpath("//span[contains(text(),'管理员')]")).click();
        Thread.sleep(2000);
        driver.findElement(By.xpath("//div[@class='userList']/p[@class='outLogin']")).click();

        Thread.sleep(1000);
        driver.findElement(By.xpath("//span[text()='登录']")).click();
    }

}

        添加菜品功能

package com.sky.test;
import net.sf.jsqlparser.statement.select.KSQLWindow;
import org.junit.jupiter.api.Order;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;

import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;

public class homepage {

    public WebDriver driver;


    @BeforeClass
    public void openBrowser() {
        driver = LoginAndOut.driver;
    }

    /**
     * 登录-菜品管理-添加菜品
     */
    @Test
    @Order(3)
    public void saveDish() throws InterruptedException {
        driver.findElement(By.xpath("//div/a[@href='#/dish']")).click();
        driver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/section/div/div/div[1]/div[4]/button/span")).click();
        driver.findElement(By.xpath("//input[@placeholder='请填写菜品名称']")).clear();
        Thread.sleep(1000);
        driver.findElement(By.xpath("//input[@placeholder='请填写菜品名称']")).sendKeys("selenium");
        driver.findElement(By.xpath("//input[@placeholder='请设置菜品价格']")).clear();
        Thread.sleep(1000);
        driver.findElement(By.xpath("//input[@placeholder='请设置菜品价格']")).sendKeys("888");
        driver.findElement(By.xpath("//input[@placeholder='请选择菜品分类']")).click();
        Thread.sleep(1000);
        WebElement element = driver.findElement(By.xpath("//ul[@class='el-scrollbar__view el-select-dropdown__list']"));
        driver.findElement(By.xpath("//ul[@class='el-scrollbar__view el-select-dropdown__list']/li/span")).click();
        driver.findElement(By.xpath("//span[@class='addBut']")).click();
        driver.findElement(By.xpath("//input[@placeholder='请选择口味']")).click();
        driver.findElement(By.xpath("//input[@name='file']")).sendKeys("C:\\Users\\FK\\Desktop\\HTML+CSS+JavaScript\\fengjing1.jpg");
        driver.findElement(By.xpath("//textarea")).sendKeys("haochi");
        driver.findElement(By.xpath("//span[contains(text(), '保存')]")).click();
    }

}



        生成对应类的xml文件,指定每个test(测试类)的执行顺序,顺序完成操作