【PlayWright教程(四)】使用避坑(python)

1. 使用css选择器,指定特定属性时,不能直接采用浏览器中的形式:

ele.query_selector("[attr=value]")

会报错:

playwright._impl._api_types.Error: Evaluation failed: SyntaxError: The string did not match the expected pattern.

 应该使用:

ele.query_selector("[attr='value']")

如:

ele.query_selector("css=[data-xh='0']")
### 使用Python编写的Playwright测试教程 #### 安装依赖库 为了开始使用 Playwright 进行自动化测试,需先安装必要的软件包。通过 pip 可以轻松完成此操作。 ```bash pip install playwright ``` 接着初始化浏览器驱动程序: ```bash playwright install ``` 这会下载 Chromium, WebKit 和 Firefox 浏览器引擎[^1]。 #### 创建第一个测试脚本 下面是一个简单的例子来展示如何创建并运行一个基本的网页加载测试案例: ```python from playwright.sync_api import sync_playwright def run_test(): with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto('https://example.com') title = page.title() print(f'Page title is {title}') browser.close() if __name__ == '__main__': run_test() ``` 这段代码启动了一个非无头模式下的 Chrome 实例,访问指定网站,并打印页面标题. #### 断言与验证 可以利用 Python 的 `unittest` 或者第三方框架如 Pytest 来增强测试功能。这里给出基于 unittest 的简单断言示例: ```python import unittest from playwright.sync_api import sync_playwright class TestExample(unittest.TestCase): def setUp(self): self.playwright = sync_playwright().start() self.browser = self.playwright.chromium.launch(headless=True) def tearDown(self): self.browser.close() self.playwright.stop() def test_example_title(self): page = self.browser.new_page() page.goto('https://example.com') self.assertEqual(page.title(), 'Example Domain') if __name__ == '__main__': unittest.main() ``` 上述单元测试类定义了设置方法 (`setUp`) 和清理工作 (`tearDown`) ,以及具体的测试函数 (`test_example_title`). 当执行该文件时,它将自动调用这些组件来进行完整的测试流程.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值