声明:文章中引用的视频为微信群里面的山豆根大佬原创所录制哟~免费视频录制剪辑不易,请大家多多支持。

并且,大佬为这一系列的视频创作还专门购买了服务器搭建了一个实战项目和练习元素定位的网站。网站的具体信息可参考我之前的文章喔:

推荐一个自动化测试练习网站

今日学习笔记



先来看一下html中的placeholder属性
placeholder 属性:
  • 1.
  • 2.
  • 这是一个通用属性,可以用于多种类型的 元素,如 text, email, password 等。
  • 它提供了一个示例文本,这个文本在用户没有输入任何内容时显示在输入框内,通常以较浅的颜色显示。
  • 用户开始输入时,placeholder 文本会消失。
  • placeholder 属性的值不会作为输入数据的一部分提交到服务器。

解锁Playwright新技能:输入框处理技巧全解析_公众号

解锁Playwright新技能:输入框处理技巧全解析_公众号_02

测试代码如下:

def test_pw_input(page: Page):
    page.goto("/demo/input", wait_until="networkidle")
    page.get_by_placeholder("不用管我,我是placeholder").fill("小博测试成长之路")
    page.get_by_label("也许你可以通过label来定位input输入框").fill("lable定位")
    page.get_by_label("数字输入专用").fill("1.123456789012")
    page.get_by_label("数字输入专用").blur()
    page.wait_for_timeout(1_1000)
    assert page.get_by_label("数字输入专用").input_value() == "1.1234567890"




def test_pw_textarea(page: Page):
    page.goto("/demo/textarea", wait_until="networkidle")
    page.locator("textarea").fill("12345")
    page.wait_for_timeout(1_000)
    page.locator("textarea").fill("123\n45")
    page.wait_for_timeout(1_000)
    page.locator("textarea").fill(
        """123
456"""
    )
    expect(page.locator("textarea")).to_have_value("123\n456")
    page.locator("textarea").press_sequentially("789", delay=2_000)
    expect(page.locator("textarea")).to_have_value("123\n456789")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

当调用 fill 方法时,它会首先清空输入字段中的现有内容,然后输入新的文本

press_sequentially方法输入的时候,不会清空之前的输入。
  • 1.

End


关注公众号,测试干货及时送达