食源送系统项目的测试
创始人
2024-11-15 17:39:01
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(测试类)的执行顺序,顺序完成操作

相关内容

热门资讯

深入分析 Android Br... 文章目录深入分析 Android BroadcastReceiver (八)1. 系统与自定义实现1...
使用Flutter的image... 文章目录需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入例子完整...
flutter在vscode中... 1. 安装Android studio        官网:https://devel...
极简聊天室-websocket... 我们知道WebSocket是可以双向通信的,把极简聊天室代码又改了一下,...
JavaScript中URL和... JavaScript中URL和Blob常用于处理文件数据、图像数据、音频数据等。Blob对象通常用于...
前端性能优化【详解】首屏优化 优化思路服务端 SSR 是 H5 的终极优化方案(但成本也高)移动端 H5 要结合 App 能力去优...
【单片机毕业设计选题24095... 系统功能:系统上电后,OLED显示三组18650锂电池电压。第一行显示第一组锂电池电压...
59在Linux中加docke... 一、引言1.1 环境不一致我本地运行没问题啊:由于环境不一致,导致相同的...
Django函数视图和类视图 函数视图1.全局环境的urls.py引入映入应用的urls,避免后期开发路由过多而导致...
C#中WebView2调用与交... 简要说明:此控件实际上是 [WebView2 COM API] (htt...