记录技术 · 生活

扫码关注公众号

用 rrweb 记录和回放用户网页操作

发现了一个有意思的库:rrweb(record and replay the web)。

什么是 rrweb?

rrweb 是一个开源的 js 库,可以记录用户在网页上的所有操作,然后完整地回放出来。

就像给用户在网页上的操作录了个视频,但实际上它并不是真的录屏,而是通过记录 DOM 变化、用户交互等事件,然后在回放时重新渲染出来。

用 Robot Framework 控制 Canvas 元素实践

背景

在自动化测试中,我遇到了一个问题:如何测试 Canvas 图表元素?

与常规 HTML 元素不同,Canvas 是作为一个整体区域对外暴露为一个大元素,内部的图表元素(如柱状图的柱子、地图的省份)不是独立的 DOM 元素,常规的 Selenium 点击方法无法定位到 Canvas 内部的特定位置。

UI 自动化测试中的链式调用设计

UI 自动化测试中的链式调用设计

一、问题

传统的 UI 自动化测试代码往往是这样写的:

def test_login_and_create_report():
    driver.get("/login")
    driver.find_element(By.ID, "username").send_keys("admin")
    driver.find_element(By.ID, "password").send_keys("admin123")
    driver.find_element(By.ID, "login-btn").click()

    driver.get("/reports")
    driver.find_element(By.ID, "new-report").click()
    driver.find_element(By.ID, "report-name").send_keys("测试报表")
    driver.find_element(By.ID, "save-btn").click()

    assert "创建成功" in driver.page_source

问题很明显:测试逻辑被一大堆底层操作淹没了,看不出主线流程。