product.spec.ts 1.75 KB
import { test, expect } from '../fixtures';
import { ProductPage } from '../pages/productPage';
import { generateUniqueProductName } from '../utils/dataGenerator';
import * as allure from 'allure-js-commons';

/**
 * 商品管理测试
 */
test.describe('商品管理', () => {
  // 使用已保存的认证状态
  test.use({ storageState: 'auth.json' });

  test('新增商品', async ({ productPage }) => {
    // 添加allure元素
    await allure.epic('基础设置');
    await allure.feature('商品管理');
    await allure.story('新建商品');

    // 步骤1,生成唯一商品名
    const productName = await allure.step('生成唯一商品名',async(step)=>{
      const name = generateUniqueProductName('蓝莓');
      return name
    });

    // const productName = generateUniqueProductName('蓝莓');
    
    // 步骤2,使用页面对象创建商品
    await allure.step('新增商品',async()=>{
      await productPage.createProduct(productName, '蓝莓');
    })
    // await productPage.createProduct(productName, '蓝莓');
    
    // 步骤3,验证商品创建成功
    await allure.step('检查新增商品',async()=>{
      await productPage.expectProductVisible(productName);
    })
    // await productPage.expectProductVisible(productName);
  });

  // test('新增商品 - 使用分步操作', async ({ productPage }) => {
  //   // 生成唯一商品名
  //   const productName = generateUniqueProductName('苹果');
    
  //   // 分步操作示例
  //   await productPage.openAddProductForm();
  //   await productPage.enterProductName(productName);
  //   await productPage.selectCategory('苹果');
  //   await productPage.clickSave();
    
  //   // 验证商品创建成功
  //   await productPage.expectProductVisible(productName);
  // });
});