Playwright 网页操作_获取网页标题和URL
在做web自动化测试时,脚本执行完成后需要进行断言,判断脚本执行是否存在问题。在断言时通常选择一些页面上的信息或者页面上元素的状态来断言,使用网页标题或url来断言就是常见的断言方式,我们以某网站的登录功能为例,在登录前后网页的标题和url是不同的。
登录前
登录后网页标题上增加了用户姓名,url也改变了。
这样的话,在执行登录功能的自动化测试脚本后,就可以以登录后的网页标题或url作为脚本执行的预期结果来断言,当断言成功时说明登录功能正常执行了自动化测试,当断言失败时则说明登录存在问题。那么断言时我们在代码中就需要在登录脚本执行完成后获取当前网页的title或url来跟预期值进行对比断言。
获取网页的标题和url的代码:
Page.title()
Page.url
实践案例
# '''
# author: 测试-老姜 交流微信/QQ:349940839
# 欢迎添加微信或QQ,加入学习群共同学习交流。
# QQ交流群号:877498247
# 西安的朋友欢迎当面交流。
# '''from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html")
page.wait_for_timeout(2000)
ele = page.locator('css=#account')
ele.type('admin') # 页面刷新后依然可以输入
page.wait_for_timeout(1000)
page.locator('xpath=//*[@name="password"]').fill('Deshifuzhi01')
page.wait_for_timeout(1000)
page.locator('text=登录').last.click()
page.wait_for_timeout(2000)
t = page.title() #获取网页标题
print(t)
u = page.url # 获取网页url
print(u)
context.close()
browser.close()