收银台项目介绍以及自动化测试
一、收银台项目介绍
1、项目背景
项目主要是仿照超市收银台系统,主要包括注册账号、切换账号、上架商品、浏览商品、更新商品、浏览订单、购买商品七个模块。
2、项目功能
2.1注册账号
首次进入收银台界面时,需要先注册账号。
2.2切换账号
进行切换账号,并登录。
2.3上架账号
在该界面,可上架商品,输入商品名称、库存、介绍、单位、价格、折扣,最后点击添加,即可上架商品。
2.4浏览商品
点击浏览商品,就可以看见商品信息。
2.5更新商品
点击更新商品,输入要更新商品的id,输入更改后的名称、库存、介绍、单位、价格、折扣,点击添加即可更新商品信息。
2.6浏览订单
点击浏览订单,即可看到订单界面。
2.7购买商品
点击购买商品,输入商品id及购买数量,点击购买即可。
生成订单后,点击确认即可购买成功。
二、收银台项目自动化测试
对收银台项目进行测试,设计测试用例,编写测试代码,对收银台系统的界面及功能等进行测试。
1、测试工具
主要使用了selenium自动化测试工具和Junit单元测试框架。导入selenium和Junit的依赖。
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
2、测试部分
2.1测试用例思维导图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyNBFCt7-1677052182152)(C:\Users\我的暗夜精灵\Desktop\收银台项目测试用例.png)]
2.2测试代码
2.2.1首页测试
static void getUrl(){
driver.get("输入URL");
}
//校验首页是否正确展示功能
@Test
@Order(1)
void checkFunctionExits() throws IOException {
getScreenshot(getClass().getName());
String zhuceText=driver.findElement(By.cssSelector("body > div.导航栏 > a:nth-child(2)")).getText();
Assertions.assertEquals("注册账号",zhuceText);
String qiehuanText=driver.findElement(By.xpath("/html/body/div[1]/a[2]")).getText();
Assertions.assertEquals("切换账号",qiehuanText);
String shangjiaText=driver.findElement(By.cssSelector("body > div.导航栏 > a:nth- child(4)")).getText();
Assertions.assertEquals("上架商品",shangjiaText);
String liulanText=driver.findElement(By.xpath("/html/body/div[1]/a[4]")).getText();
Assertions.assertEquals("浏览商品",liulanText);
String gengxinText=driver.findElement(By.cssSelector("body > div.导航栏 > a:nth-child(6)")).getText();
Assertions.assertEquals("更新商品",gengxinText);
String orderText=driver.findElement