@bigbinary/neeto-team-members-playwright

中文文档
1.0.5发布于 2026/10/29Apache-2.0TypeScriptES Module零依赖近 30 天下载 8203

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

中文使用文档
文档目录6 节
  1. 使用量
  2. 成员助手
  3. 角色帮助者
  4. 选择器更改( 打破)
  5. 地方发展
  6. 释放

团队成员 Playwright 助手

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

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

使用量

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

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

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

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

"paths": {
  "@neetoteammembers": [
    "./node_modules/@bigbinary/neeto-team-members-playwright"
  ]
}
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),不再检查角色本身:

    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/ 目录。 删除 雅尔克链接之前, 执行所以产品显示和锁定文件停留 不变:

yarn build && yalc publish
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 共发布 6 个版本,首次发布于 2026/10/16;过去 12 个月发布了 6 个版本。

版本发布日期距今
1.0.5latest2026/10/2910 天前
1.0.42026/10/2810 天前
1.0.32026/10/2811 天前
1.0.22026/10/1623 天前
1.0.12026/10/1623 天前
0.0.0-stage2026/10/1623 天前

关于 @bigbinary/neeto-team-members-playwright 的常见问题

@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 和提交记录判断。