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。

你可能感兴趣的:(Python中Playwright 与 pyunit 结合使用详解)