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。
相关文章