自动化 End-End 测试 Nightwatch.js 简易化 selector

在 E2E 测试撰写时,前端可以利用 aria-label 或客制化的 testing tag 来方便测试抓取元件

指定 aria-label 可以使一个标签被标记为特定的字符串,且会替换任何其他原生标记机制

<button
    aria-label="menu"
    class="hamburger">
</button>

这里仅使用 aria-label
此外,aria-label 另一个用途是使自动阅读萤幕文字的 Application 可以知道当前物件属性类别

而 E2E 的部分则可以透过这样的属性抓取想要测试的物件:

browser
    .clickDiv('[aria-label="year dropdown"]')
    .clickDiv('[aria-label="month dropdown"]')

而为了简洁,也可以撰写一个 pure function

module.exports = type => string => `[aria-${type}="${string}"]`;

随後即可在其他测试中使用:

const ariaLabel = ariaAttrSelector('label');

browser.clickDiv(ariaLabel('year dropdown'))

<<:  [Day26]ISO 27001 附录 A.14 系统获取、开发及维护

>>:  Day_29:让 Vite 来开启你的Vue之 跌入深坑_ Suspense非同步元件(续上集)

JS 物件取值、新增、删除 DAY57

物件结构 // 物件实字 var farm = { dog : '小黑', duck : 20, f...

[前端暴龙机,Vue2.x 进化 Vue3 ] Day11.列表渲染

当我们有很多重复的架构,内容却不一样,以旧有无框架的开发,我们可能就需要手动一笔一笔的刻出来,更进步...

Day 27 实作 user_bp (5)

前言 今天会完成 user_bp,也就是要完成看贴文跟留言的部分。 /posts 首先来看看可以看到...

智慧财产的角度-保护生产参数应该思考的最关键问题

知识产权具有所有者,否则它将属於公共领域。“商业秘密是指可以出售或许可的机密信息的知识产权(IP)。...

[Day 27] - Gatsby feat. EC ( 上 )

这边的 EC 指的是 Electronic Commerce,也就是所谓的电子商务,我们将用一到两章...