new readme
This commit is contained in:
@@ -1,7 +1,16 @@
|
||||
##E2E端到端测试流程
|
||||
1.运行E2E测试流程:
|
||||
准备工作:make devstar 构建本地代码的devstar镜像,public/assets/install.sh start --image=devstar-studio:latest启动devstar容器
|
||||
请将devstar对应的url填写为TARGET_URL,执行make e2e-test TAGRET_URL="....",会自动化安装并测试,注意这里的url绝对不可以是localhost!
|
||||
如果有已存在的实例需要测试,请额外在命令行输入E2E_USERNAME="my-admin" E2E_PASSWORD="my-pass" E2E_ADMIN_ID=""(后台管理可见,账号对应的id) make devstar TARGET_URL="...."
|
||||
|
||||
注意:make e2e-test命令会依赖make devstar创建容器,所以如果已经启动了devstar容器,请务必加上TARGET_URL参数
|
||||
```
|
||||
|
||||
make devstar
|
||||
|
||||
public/assets/install.sh start --image=devstar-studio:latest
|
||||
|
||||
make e2e-test TAGRET_URL="..." # 使用默认账号testuser 密码12345678
|
||||
|
||||
E2E_USERNAME="your_name" E2E_PASSWORD="your_password" E2E_ADMIN_ID="your_id" make e2e-test TAGRET_URL="..." # 使用你的账号和密码,id是后台管理账号对应的id
|
||||
``
|
||||
|
||||
|
||||
##注意:Url不可以是localhost,这样容器无法访问,也无法正常安装webterminal
|
||||
|
||||
|
||||
@@ -17,8 +17,7 @@ async function globalSetup(config: FullConfig) {
|
||||
if (mode === 'url') {
|
||||
try {
|
||||
const url1=env.DEVSTAR_URL;
|
||||
const url2 = `http://${url1}`;
|
||||
await page.goto(url2, { timeout: 15000 });
|
||||
await page.goto(url1, { timeout: 15000 });
|
||||
console.log('[GlobalSetup] 检测到安装界面!正在开始自动化安装...');
|
||||
// (你提供的所有 "testuser" 安装步骤...)
|
||||
await page.getByText('Server and Third-Party Service Settings').click();
|
||||
|
||||
@@ -9,8 +9,7 @@ const DEFAULT_E2E_PASS = '12345678';
|
||||
const DEFAULT_ADMIN_ID = '1';
|
||||
const isAlreadyInstalled = env.E2E_SKIP_INSTALL === 'true';
|
||||
const url1=env.DEVSTAR_URL;
|
||||
const url2 = `http://${url1}`;
|
||||
const GITEA_URL = (env.E2E_MODE === 'url') ? url2 : 'http://devstar:3000';
|
||||
const GITEA_URL = (env.E2E_MODE === 'url') ? url1 : 'http://devstar:3000';
|
||||
const TEST_USER = isAlreadyInstalled ? (env.E2E_USERNAME || DEFAULT_E2E_USER) : DEFAULT_E2E_USER;
|
||||
const TEST_PASS = isAlreadyInstalled ? (env.E2E_PASSWORD || DEFAULT_E2E_PASS) : DEFAULT_E2E_PASS;
|
||||
const TEST_ADMIN_USER_ID = isAlreadyInstalled ? (env.E2E_ADMIN_ID || DEFAULT_ADMIN_ID) : DEFAULT_ADMIN_ID;
|
||||
|
||||
@@ -14,7 +14,6 @@ let password: string | undefined;
|
||||
let wasUsingDefault = false;
|
||||
if(mode === 'url'){
|
||||
const url1=env.DEVSTAR_URL;
|
||||
const url2 = `http://${url1}`;
|
||||
if (isInstalled) {
|
||||
// 【"已安装" 模式
|
||||
|
||||
@@ -32,7 +31,7 @@ if(mode === 'url'){
|
||||
console.log(` "刚安装"模式, 尝试用 ${username} 登录...`);
|
||||
}
|
||||
try {
|
||||
await page.goto(url2 + '/user/login');
|
||||
await page.goto(url1 + '/user/login');
|
||||
const captchaInput = page.locator('input[name="captcha"]');
|
||||
if (await captchaInput.isVisible()) {
|
||||
throw new Error('检测到验证码 (CAPTCHA)! E2E 测试无法继续。');
|
||||
@@ -40,7 +39,7 @@ if(mode === 'url'){
|
||||
await page.fill('#user_name',username);
|
||||
await page.fill('#password', password);
|
||||
await page.getByRole('button', { name: 'Sign In' }).click();
|
||||
await expect(page).toHaveURL(url2 + '/');
|
||||
await expect(page).toHaveURL(url1+ '/');
|
||||
console.log(`[LoginHelper] 用户 [${username}] 登录成功!`);
|
||||
} catch (error) {
|
||||
console.error(`[LoginHelper] 登录失败! 原始错误: ${error.message}`);
|
||||
|
||||
Reference in New Issue
Block a user