在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用test-automation
星标16
分支3
更新时间2026年2月7日 05:42
Test automation strategies and best practices
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
Test automation strategies and best practices
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Animation principles, techniques, and best practices for 3D animation
Polygon reduction, LOD creation, texture compression, and real-time optimization
Blender interface, workflows, and 3D production pipeline
3D modeling fundamentals, techniques, and best practices
NVIDIA Omniverse platform integration and real-time 3D workflows
Rigging fundamentals, skeleton setup, and animation controls
| name | test-automation |
| description | Test automation strategies and best practices |
class LoginPage {
constructor(page) {
this.page = page;
this.usernameInput = page.locator('#username');
this.passwordInput = page.locator('#password');
this.loginButton = page.locator('#login');
}
async login(username, password) {
await this.usernameInput.fill(username);
await this.passwordInput.fill(password);
await this.loginButton.click();
}
}
actor.attemptsTo(
Navigate.to('/login'),
Enter.theValue('username').into('#username'),
Enter.theValue('password').into('#password'),
Click.on('#login')
);
const testData = [
{ username: 'user1', password: 'pass1', expected: 'success' },
{ username: 'user2', password: 'pass2', expected: 'success' },
{ username: 'invalid', password: 'wrong', expected: 'failure' }
];
testData.forEach(({ username, password, expected }) => {
test(`login with ${username}`, async ({ page }) => {
await login(page, username, password);
await expect(page.locator('.status')).toHaveText(expected);
});
});
jest.mock('./api');
import { fetchUser } from './api';
test('fetches user data', async () => {
fetchUser.mockResolvedValue({ id: 1, name: 'Test User' });
const result = await getUser(1);
expect(result).toEqual({ id: 1, name: 'Test User' });
expect(fetchUser).toHaveBeenCalledWith(1);
});