当前位置: 首页 > news >正文

Playwright-python 自动化测试【Anaconda】环境配置

第一步:Anaconda的安装

安装Anaconda的好处,比prenv网速快,并且拥有独立的python环境,再也不用烦恼用哪个python好了。
Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
在这里插入图片描述
下载完,一直点击next。
同样输入conda info 测试
在这里插入图片描述

第二步:Playwright 的介绍

  1. Playwright 支持当前所有主流浏览器,包括 Chrome 和 Edge(基于Chromium)、Firefox、Safari(基于 WebKit) ,提供完善的自动化控制的 API。
  2. Playwright支持移动端页面测试,使用设备模拟技术可以使我们在移动 Web 浏览器中测试响应式 Web 应用程序。
  3. Playwright支持所有浏览器的 Headless 模式和非 Headless 模式的测试。
  4. Playwright的安装和配置非常简单,安装过程中会自动安装对应的浏览器和驱动,不需要额外配置 WebDriver 等。
  5. Playwright提供了自动等待相关的 API,当页面加载的时候会自动等待对应的节点加载,大大简化了 API 编写复杂度。

第三步:playwright的安装

打开终端,输入以下命令

conda config --add channels conda-forge
conda config --add channels microsoft
conda install playwright  # 安装playwright
playwright install  # 安装驱动

验证是否安装成功

playwright -V

第四步:下载PyCharm

打开Anaconda软件,点击PyCharm下载按钮
在这里插入图片描述
新建一个项目,选择使用的环境,项目名即可。
在这里插入图片描述
使用一个简单的入门案例:

from playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None:browser = playwright.chromium.launch(headless=False)context = browser.new_context()# Open new pagepage = context.new_page()# Go to https://www.baidu.com/page.goto("https://www.baidu.com/")# Click input[name="wd"]page.locator("input[name=\"wd\"]").click()# Fill input[name="wd"]page.locator("input[name=\"wd\"]").fill("自动化测试")# Click text=百度一下page.locator("text=百度一下").click()# ---------------------context.close()browser.close()with sync_playwright() as playwright:run(playwright)

点击运行
在这里插入图片描述
什么编译报错?
在这里插入图片描述
让我们找找是什么原因?哦,原来是playwright依赖找不到,怎么办,鼠标放到playwright这行代码上,这时就有一个红色警告,我们点击这个红色灯泡,idea会提示"安装playwright软件包",那么我们安装试一试。
在这里插入图片描述
安装后,再次执行
在这里插入图片描述
没问题了。
再看看它是怎么运行的,我们在context.close()打上断电。
在这里插入图片描述
调式运行
在这里插入图片描述
结果出来了

测试结果出来了。
在这里插入图片描述
可是我们写脚本,好麻烦怎么办。
别担心,playwright拥有屏幕录制功能,它能自动帮助我们完成代码编写。
只需要在终端输入命令

playwright codegen

在这里插入图片描述
我们点击页面那里,输入什么信息,playwright都会帮我们生成对应的代码。
这样我们只需要测试一次,后面的所有测试,就不需要再次跑页面了,而只需要运行一下程序就完事了。
当然,这个脚本还需要你的优化,避免测试用例的数据一模一样,这时就需要你的介入,规定好测试数据,通过代码模拟一些特定的测试数据,如果你的模拟数据写的好,前提是你的需求不会出现巨大变动,这个脚本都不会再出现新的变动。

http://www.lryc.cn/news/66137.html

相关文章:

  • 攻防世界-web-simple js
  • 【SpringCloud】初始微服务
  • 均摊时间复杂度
  • 夏驰和徐策的解决数学问题思路——反证法
  • 面向开发人员的 ChatGPT 提示词教程 - ChatGPT Prompt Engineering for Developers
  • 虹科方案|使用 HK-TRUENAS支持媒体和娱乐工作流程-1
  • DDR5内存彻底白菜价,国外大厂却整出了比着火更离谱的骚操作
  • Linux网络——Shell编程之函数
  • GQCNN+PointNetGPD思路和问题--chatGPT
  • Mysql索引(2):索引结构
  • Spring框架介绍和应用实践
  • IO 流学习总结
  • PowerToys——免费、强大、高效的微软官方效率提升工具集,办公学习宝藏软件
  • 【C++】 类基础汇总(类封装,构造、析构函数...)
  • BM61-矩阵最长递增路径
  • selenium——unittest框架
  • matlab频谱分析详解
  • 用layui写用户登录页面遇到的问题
  • NMOS双向转换电路实测以及上升沿尖峰处理
  • 【数据结构】选择排序(详细)
  • 什么是企业内容管理?
  • 机器学习:分类、回归、决策树
  • java常见的异常,下一篇写如何正确处理异常
  • C#开发的OpenRA游戏之网络协议打包和解包
  • K8S通过Ansible安装集群
  • ChatGPT辩证观点:“人才不是一个企业的核心竞争力,对人才的管理能力才是一个企业的核心竞争力”
  • windows11 永久关闭windows defender的方法
  • 继承的基本知识
  • 【Frida-实战】EA游戏平台的文件监控(PsExec.exe提权)
  • 可视化和回归分析星巴克咖啡在中国的定价建议