在上一篇文章初识Playwright中,我介绍了Playwright的基本用法。可以看到,它最显著的优点之一就是能帮我们自动定位UI元素并且自动生成操作页面元素的脚本。对于自动化测试而言,接下来我们就要开始写断言了。那么Playwright是否也可以帮我们自动生成断言呢?当然是可以的!

这次我们用Playwright官方文档的页面做个示范:

python -m playwright codegen -b chromium https://playwright.bootcss.com/

打开首页如图所示: image.png

我们可以看到脚本窗口中有三个按钮,分别是常用的三种断言方式: 断言元素可见性、断言元素文本和断言元素值 1.断言元素可见性: 比如,我们想要断言首页左上角LOGO的可见性,我们先点击断言按钮再点击LOGO,生成的断言语句如下:

expect(page.get_by_role("link", name="Playwright logo Playwright")).to_be_visible()

2.断言元素文本: 比如,我们想要断言首页的大标题文本内容,我们先点击断言按钮再点击大标题,会出现一个弹窗,里面可以编辑我们希望看到的目标文本包含什么内容: image.png 编写好之后点击绿色√,生成的代码如下:

expect(page.locator("h1")).to_contain_text("Playwright 为 现代 web 应用提供了可靠的端到端的测试能力。")

3.断言元素值(value) 这里的value值应当指的是HTML元素的value属性,++常见的拥有value属性的HTML元素包括input标签、textarea(文本域)、select(选择框)等++。我们以断言右上角的搜索框为例: 我们先在右上角的框中输入文字,然后点击断言按钮,再点击输入框,生成的代码如下:

expect(page.get_by_placeholder("Search")).to_have_value("测试搜索");

除了以上三种断言方式,Playwright还可给我们提供了很多其他的断言方式,非常灵活,我们可以在官方文档中查看API:

image.png