Python中Playwright 与 pyunit 结合使用详解
作者:田辛 | 田豆芽
这篇文章主要介绍了Python中Playwright 与 pyunit 结合使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
今天来填坑, 昨天说playwright未必一定要使用pytest-playwright
包。 它也可以和pyunit一起使用。
那么今天,田辛老师就给大家一个例子, 供大家参考。当然,pytest好用田辛老师之后还是会介绍pytest。 这篇文章只是告诉你,思路要打开:
import unittest from playwright.sync_api import Playwright, Browser class MyTests(unittest.TestCase): @classmethod def setUpClass(cls): # Launch a new browser instance playwright = Playwright() browser_type = playwright.chromium cls.browser = browser_type.launch(headless=False) # Create a new page cls.page = cls.browser.new_page() @classmethod def tearDownClass(cls): # Close the browser cls.browser.close() def test_login_form(self): self.page.goto("https://example.com/login") self.page.fill("#username", "myusername") self.page.fill("#password", "mypassword") self.page.click("#submit") assert "Welcome" in self.page.title() if __name__ == '__main__': unittest.main()
在此示例中,田辛老师使用 PyUnit 的 unittest.TestCase
类来定义我们的测试用例。田辛老师定义了一个 setUpClass
方法来启动一个新的浏览器实例并创建一个新页面,以及一个 tearDownClass
方法来在所有测试完成后关闭浏览器。然后,田辛老师定义一个 test_login_form
方法,该方法使用 Playwright 的同步 API 与页面进行交互。
请注意,在整个测试用例中,田辛老师使用 self.page
而不是 page
来引用页面对象,因为它是 MyTests
类的实例变量。
总的来说,虽然可以将 Playwright 与 PyUnit 一起使用,但 pytest-playwright 提供了与 Playwright 框架的更简化和更易于使用的集成。如果可以的话,建议使用 pytest-playwright 而不是 PyUnit。