# @bigbinary/neeto-team-members-playwright 中文文档

规范地址：https://npmcn.com/package/%40bigbinary/neeto-team-members-playwright/

版本：1\.0\.5
npm 元数据更新时间：2026-10-29T04:20:57.370Z
中文译文更新时间：2026-11-08T02:14:24.642Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bigbinary/neeto-team-members-playwright
原文对照：https://npmcn.com/package/%40bigbinary/neeto-team-members-playwright/?lang=original
源码仓库：https://github.com/neetozone/neeto-team-members-nano

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：64.8 kB，28 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.13
- 运行依赖：0 个
- peer 依赖：@faker-js/faker 10\.5\.0，@playwright/test 1\.63\.0，@bigbinary/neeto-cist 1\.0\.17，playwright-i18next-fixture 1\.0\.0，@bigbinary/neeto-playwright-commons ^5\.0\.0
- 首次发布：2026-10-16T04:07:51.401Z
- 最新版本发布：2026-10-29T04:20:57.169Z
- 近 30 天下载量：8203（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

Playwright帮手为neto团队成员纳米.

## 安装

```sh
npm install @bigbinary/neeto-team-members-playwright
```

也可以使用：`pnpm add @bigbinary/neeto-team-members-playwright`、`yarn add @bigbinary/neeto-team-members-playwright`、`bun add @bigbinary/neeto-team-members-playwright`

## README

# 团队成员 Playwright 助手

`@bigbinary/neeto-team-members-playwright` 包含团队成员和角色 POMs, 选取者, 和这种纳米拥有的类型。 已编辑出版 独立 `@bigbinary/neeto-team-members-frontend`。 。 。 .

普通帮助人员留在其中 `@bigbinary/neeto-playwright-commons`。这些POM使用 用于页面命令、常见选择器、过滤器和 `exampleEmail`。 。 。 .

## 使用量

装入消耗品中 `playwright-tests/` 目录 :

```sh
yarn add -D @bigbinary/neeto-team-members-playwright
```

产品提供列于 `package.json`,包括: `@bigbinary/neeto-playwright-commons`。不需要前端软件包.

和普通人一样,软件包仅是ES模块,而Playwright加载的规格是 常见JS. 在旁边添加路径别名 `@neetoplaywright` 在产品中 `playwright-tests/tsconfig.json`,然后通过它导入.

```json
"paths": {
  "@neetoteammembers": [
    "./node_modules/@bigbinary/neeto-team-members-playwright"
  ]
}
```

```ts
import {
  MEMBER_SELECTORS,
  Member,
  MemberApis,
  ROLES_SELECTORS,
  RoleApis,
  RolesPage,
  TeamMembers,
} from "@neetoteammembers";
```

-   构造 `TeamMembers` 与 `{ page, neetoPlaywrightUtilities }`它驱动 需要的原子表UI: 收音机, `menuitem` 批量动作和列菜单 从列头按钮打开.
-   `searchMemberByEmail(email)` 小写地址,然后搜索 验出行相.
-   `new Member(neetoPlaywrightUtilities)` 通过 纳米的REST API. 创建发送 `user` (单位:千美元)`emails`, (中文(简体) ), `organization_role`, (中文(简体) ), `app_roles`) (中文(简体) ). 更新发送 `team` (单位:千美元)`active`, (中文(简体) ), `first_name`, (中文(简体) ), `last_name`, (中文(简体) ), `organization_role`, (中文(简体) ), `email`选择 `profile`) (中文(简体) ). 批量更新发送 `users` (单位:千美元)`organization_role`, (中文(简体) ), `active`, (中文(简体) ), `emails`) (中文(简体) ).
-   构造 `RolesPage` 与 `(page, neetoPlaywrightUtilities)`它检查 通过标签获得权限. `new RoleApis(neetoPlaywrightUtilities)` 发送 `organization_role` (单位:千美元)`name`, (中文(简体) ), `kind`, (中文(简体) ), `description`, (中文(简体) ), `permission_ids`和 删除 `new_role_id`。 。 。 .
-   宿主的i18next sixture 必须在 POM 之前装入纳米翻译 创建.

## 成员助手

-   `MemberApis.fetchByEmail(email)` 使用服务器端查询活动成员 `neeto_filters` 电子邮件条件和小写邮件. `fetch(params = {})` 仍可供其他瞄准镜和标记.
-   `Member.getUserIdViaAPI(email)` 过滤最多60项请求的民调 秒,在大小写不敏感的情况下匹配,并返回成员ID。 没有就失败了 现役成员可以参加.
-   `Member.addMemberViaRequest({ email, appName, ... })` 等待创建 任务完成后,使用该搜索返回成员id.
-   `Member.editMemberViaRequest`, (中文(简体) ), `deactivateMemberViaRequest`,以及 `updateEmailViaAPI` 更新配置文件,取消成员,并更改电子邮件. `generateRandomTeamMembers({ count, role })` 创建测试数据对象.
-   `MemberApis.create`, (中文(简体) ), `jobStatus`, (中文(简体) ), `fetchPermissions`, (中文(简体) ), `update`,以及 `bulkUpdate` 揭露创造成员、就业投票、许可列名和 成员最新情况.
-   `TeamMembers.pageTitle` 是纳米的会员页标题 `taxonomyDefaultLabels.member.plural` 翻译。 在页面标题中使用 声明而不是文本的硬编码.
-   `TeamMembers.openMemberShowPage(email)` 通过电子邮件搜索,打开匹配 名称单元格,并验证成员页标题.
-   `TeamMembers.navigateToTeamMembers`, (中文(简体) ), `openMemberPane`, (中文(简体) ), `fillMemberForm`, (中文(简体) ), `submit`, (中文(简体) ), `addMemberViaUI`, (中文(简体) ), `editMemberViaUI`,以及 `removeMemberViaUI` 驱动 成员表和V2成员表.
-   `searchAndVerifyMemberByEmail({ email })` 财务报告和审定财务报表 `searchMemberByEmail(email)` 搜索和验证一行; `getMemberRowByName(name)` 返回其行定位符.
-   `openFilterPane`, (中文(简体) ), `filterMembersByMultiSelect`,以及 `filterMembers` 设置成员 过滤器. `takeActionOnMembers` 开展散装行动; `performColumnAction` 财务报告和审定财务报表 `toggleMemberColumns` 控制表列.
-   `verifyMemberInTable({ name, email })` 检查行细节; `verifyNoDataTitle(email)` 核实空搜索结果; `exportDetails(fileType, adminEmail)` 请求成员导出.

## 角色帮助者

-   `RolesPage.pageTitle` 是纳米制中的角色页标题 `neetoTeamMembers.common.role` 翻译(平面). 在页面标题中使用 而不是硬编码"罗斯".
    
-   `fetchSortedPermissions()` 以数字表示的返回权限 `sequence` 秩序。 秩序.
    
-   `getPermissionIdsByName(names)` 核实每个请求名称是否存在 返回其编号顺序. `getPermissionDescriptionsByName(names)` 返回相同顺序的匹配描述.
    
-   `addCustomRoleByPermissionNamesViaRequest(roleName, names)` 创建角色 以内部名称选择权限.
    
-   `grantPermissionsByNameViaRequest(roleName, names)` 替换该角色的 允许并核实所要求的身份。 它的要求包括: `id`, (中文(简体) ), `kind`, (中文(简体) ), `name`,以及 `permission_ids`,没有 `organization_id`。 。 。 .
    
-   `getRolePermissionCheckboxes(roleName, category)` 返回分类 允许复选框,不包括其第一个类别级复选框.
    
-   `getTableCheckboxBesidePermission(roleName, description)` 返回复选框 对齐许可描述,不包括类别级行.
    
-   `verifyRolePermissionCheckboxStates({ roleName, checkedPermissionNames })` 在整个扩大的、未过滤的检查和未检查权限 页:1. `verifyAddRolePanePermissionStates(checkedPermissionNames)` 核实 使用每个权限的内部名称打开的角色表.
    
-   `getPermissionIds(targetPermissions, isGranularPermission)` 抬头看 允许 id 按类别, 或者第二个参数时的描述 没错.
    
-   `getRoleIdAndOrganizationId(roleName)` 解决一个角色的标识符. `addCustomRoleViaRequest`, (中文(简体) ), `editRoleViaRequest`,以及 `deleteRoleViaRequest` 通过 API 创建、编辑和删除角色.
    
-   `addRoleViaUI`, (中文(简体) ), `editRoleViaUI`, (中文(简体) ), `selectAndSubmitPermissions`,以及 `deleteRoleViaUI` 驱动角色表和表格动作.
    
-   `verifyAddAndDeleteRole({ route, roleName })` 打开角色页面,然后添加 并删除一个没有权限通过 UI 的角色. `route` 默认为 常识' `ROUTES.adminPanel.roles`,以及 `roleName` 随机 8 字符 名称。 生产健康测试通过普通人 `health.verifyAppIsLive(customSteps)`,不再检查角色本身:
    
    ```ts
    test("should verify application is live", ({
      health,
      page,
      neetoPlaywrightUtilities,
    }) =>
      health.verifyAppIsLive(() =>
        test.step("3: Verify adding & removing roles", () =>
          new RolesPage(page, neetoPlaywrightUtilities).verifyAddAndDeleteRole())
      ));
    ```
    
    角色页在别处通过的产品 `route`:客户关系管理的使用 `/admin/admin-panel/manageUsers/roles`规划员 `/admin-panel/general/roles`, (中文(简体) ), 代码、 运行者、 CI、 Git、 Tower 和 Quiz `/admin/admin-panel/roles`。 。 。 .
    
-   `verifyPermissions` 检查许可集的元素能见度; `verifyRoleSpecificLinkAccess` 检查产品供应路线.
    
-   `RoleApis.fetch`, (中文(简体) ), `addRole`, (中文(简体) ), `editRole`,以及 `deleteRole` 揭露 基本成员/成员/角色清单和角色突变请求.
    

`VerifyRolePermissionCheckboxStatesParams` 与 现有公共论据和反应类型.

## 选择器更改( 打破)

已添加 `MEMBER_SELECTORS.manageRolesButton`, (中文(简体) ), `changeRoleButton`, (中文(简体) ), `rolesSearchInput`, (中文(简体) ), `changeRoleOption(role)`,以及 `filteredMembersCount` 从 V2的动作挡. 已添加 `ROLES_SELECTORS.tablePermissionCard(category)`, (中文(简体) ), `tableCategoryTitle`,以及 `emptyCategoryRow` 从V2角色表.

删除了在纳米中没有文字或生成对应物的选择器 :

-   `MEMBER_SELECTORS.deactivatedAgentsButton`
-   `MEMBER_SELECTORS.activatedMembersButton`
-   `MEMBER_SELECTORS.menuBarHeading`
-   `MEMBER_SELECTORS.statusTag`
-   `MEMBER_SELECTORS.subscriptionPlanTag`
-   `ROLES_SELECTORS.searchTextField`

这些清除量要求 `minor` 释放。 现有的工作表选择器 `ROLES_SELECTORS.permissionCard`, (中文(简体) ), `permissionCategoryTitle`,以及 `permissionCheckbox(name)` 与表格选择器区分开来.

## 地方发展

要尝试产品中未释放的更改,请与 `yalc` 从此目录, 然后在产品中添加包装 `playwright-tests/` 目录。 删除 雅尔克链接之前, 执行所以产品显示和锁定文件停留 不变:

```sh
yarn build && yalc publish
```

```sh
cd path/to/product/playwright-tests
yalc add --dev @bigbinary/neeto-team-members-playwright
```

第一次出版后, `yalc push` 从 `playwright/` 更新每个产品 加上了包裹 以 `yalc remove @bigbinary/neeto-team-members-playwright`。 。 。 .

## 释放

将 PR 合并到 `playwright` 标签和a `patch`, (中文(简体) ), `minor`,或 `major` 标签. 现有的 NeetoCI 凸起工作流程发布此软件包并打开 `Bump version` 公关.

## 常见问题

### @bigbinary/neeto-team-members-playwright 是什么？

Playwright帮手为neto团队成员纳米\.

### 如何安装 @bigbinary/neeto-team-members-playwright？

在项目目录运行 npm install @bigbinary/neeto-team-members-playwright，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@faker-js/faker（10\.5\.0）、@playwright/test（1\.63\.0）、@bigbinary/neeto-cist（1\.0\.17）、playwright-i18next-fixture（1\.0\.0）、@bigbinary/neeto-playwright-commons（^5\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bigbinary/neeto-team-members-playwright 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bigbinary/neeto-team-members-playwright 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @bigbinary/neeto-team-members-playwright 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.13。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @bigbinary/neeto-team-members-playwright 可以商用吗？

@bigbinary/neeto-team-members-playwright 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @bigbinary/neeto-team-members-playwright 的下载量有多少？

根据 npm 官方下载统计，@bigbinary/neeto-team-members-playwright 在 2026/10/08 – 2026/11/06 这 30 天内被下载 8,203 次，日均约 273 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bigbinary/neeto-team-members-playwright 还在维护吗？

最新版本 1\.0\.5 发布于 2026/10/29（10 天前）；至今共发布 6 个版本，其中过去 12 个月发布了 6 个；首次发布于 2026/10/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

