Files
gym-manage/gym-manage-uniapp/e2e/smoke/app-launch.spec.js
T

82 lines
2.6 KiB
JavaScript

const { launchMiniProgram } = require('../helpers/automator');
const { HomePage } = require('../pages/HomePage');
const { LoginPage } = require('../pages/LoginPage');
describe('小程序冒烟测试', () => {
let miniProgram;
let homePage;
beforeAll(async () => {
try {
miniProgram = await launchMiniProgram();
homePage = new HomePage(miniProgram);
} catch (error) {
console.warn('小程序连接失败:', error.message);
}
});
afterAll(async () => {});
test('小程序首页加载与基本内容', async () => {
if (!miniProgram) {
console.log('跳过:小程序环境未就绪');
return;
}
// 确保在首页 tabbar
await miniProgram.switchTab('/pages/index/index');
await new Promise(resolve => setTimeout(resolve, 1500));
const page = await miniProgram.currentPage();
console.log('当前页面路径:', page.path);
expect(page).toBeDefined();
expect(page.path).toBeTruthy();
// 首页数据验证
const data = await homePage.getPageData();
console.log('首页数据:', JSON.stringify(data).substring(0, 200));
expect(data).toBeDefined();
});
test('TabBar 页面间导航', async () => {
if (!miniProgram) {
console.log('跳过:小程序环境未就绪');
return;
}
// 先确保在首页
await miniProgram.switchTab('/pages/index/index');
await new Promise(resolve => setTimeout(resolve, 1000));
let page = await miniProgram.currentPage();
console.log('导航测试 - 首页:', page.path);
// 切换到搜索
await miniProgram.switchTab('/pages/search/search');
await new Promise(resolve => setTimeout(resolve, 1000));
page = await miniProgram.currentPage();
console.log('导航测试 - 搜索:', page.path);
expect(page.path).toBe('pages/search/search');
// 切换到我的课程
await miniProgram.switchTab('/pages/my-courses/my-courses');
await new Promise(resolve => setTimeout(resolve, 1000));
page = await miniProgram.currentPage();
console.log('导航测试 - 我的课程:', page.path);
expect(page.path).toBe('pages/my-courses/my-courses');
// 切换到个人中心
await miniProgram.switchTab('/pages/profile/profile');
await new Promise(resolve => setTimeout(resolve, 1000));
page = await miniProgram.currentPage();
console.log('导航测试 - 个人中心:', page.path);
expect(page.path).toBe('pages/profile/profile');
// 返回首页
await miniProgram.switchTab('/pages/index/index');
await new Promise(resolve => setTimeout(resolve, 1000));
page = await miniProgram.currentPage();
expect(page.path).toBe('pages/index/index');
});
});