不用写一行代码!Python最强自动化神器!_python代码自动生成器-程序员宅基地

技术标签: 2024年程序员学习  python  自动化  开发语言  

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

Playwright具有以下特点:

  • 支持所有主流浏览器
  • 跨平台:Windows、Linux 和macOS
  • 可用于模拟移动端WEB应用的测试。
  • 支持无头模式(默认)和有头模式

使用场景包括但不限于:

  • 自动化测试:开发人员和测试人员可以使用Playwright来编写自动化测试脚本,验证Web应用程序的功能和性能。
  • 性能测试:Playwright可以模拟多个用户同时访问Web应用程序,帮助测试应用程序在高负载情况下的性能表现。
  • 可访问性测试:Playwright可以模拟用户使用辅助技术(如屏幕阅读器)访问Web应用程序,帮助测试应用程序的可访问性。
  • 网页截图和录制:Playwright可以生成网页截图,也可以录制用户操作过程,帮助开发人员和测试人员分析问题。

总之,Playwright可以用于各种Web应用程序测试场景,帮助团队提高测试效率和测试覆盖率。

3、架构原理

playwright共由三部分组成:

图片

  • client:在客户端是我们用不同的编程语言编写的代码,如JavaScript,Java,Python,C#等。
  • server:Playwright的server通过nodejs构建并负责与client 以及不同的 Web 浏览器引擎进行通信。
  • 通信协议:client通过WebSocket 协议与Playwright server 通信;

Playwright使用 Chrome DevTools 协议(CDP)与 Chromium 通信。触发测试后,client端代码将被转换为JSON格式,然后使用websocket协议发送到服务器。palywright通过单个 websocket 协议连接传达所有请求,该连接将保持不变,直到所有测试执行完成。由于命令是在单个连接上发送的,因此测试失败或不稳定的可能性较小,并且命令可以快速执行。这种架构与Selenium相反,Selenium使用HTTP连接协议,并将每个命令(如浏览器打开,单击,关闭浏览器)作为单独的HTTP请求发送。此外,在Selenium中,服务器和客户端之间的连接将在每次请求后终止,并为下一个请求重新建立。这也是Playwright为什么比selenium快的原因!

4、环境安装

Playwright环境部署简单,不像Selenium那样需要下载浏览器对应版本的驱动程序chromedriver,直接安装即可:

# 1、安装 playwright:
pip3 install playwright

#  2、安装所需的浏览器 chromium,firefox 和 webkit:
playwright install

3、如何只安装特定的浏览器,比如Chrome:

playwright install chromium

如果您在使用 pip3 install playwright 安装 Playwright 时遇到下载速度缓慢的问题,可以尝试以下方法来加速下载:

更换 pip 镜像源

可以使用国内的 pip 镜像源来替代默认的源,例如使用阿里云的 pip 镜像源或者清华大学的镜像源等。可以使用以下命令来更换 pip 镜像源:

pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/

5、快速开始

Playwright 支持2种运行方式: 同步异步

# 异步代码
from time import sleep

from playwright.async_api import async_playwright
async def main():
async with async_playwright() as driver:
browser=await driver.firefox.launch(headless=False)
page=await browser.new_page()
await page.goto(‘https://www.example.com’)
print(await page.title())
await browser.close()
sleep(10)

asyncio.run(main())

# 同步执行代码
from playwright.sync_api import sync_playwright
with sync_playwright() as driver:
browser=driver.chromium.launch(headless=False)
page=browser.new_page()
page.goto(‘https://www.example.com’)
print(page.title())
sleep(10)
browser.close()

6、代码自动生成

Playwright自带了一个代码生成器工具,可以帮助你快速生成Playwright自动化测试脚本。通过代码生成器,你可以在浏览器中进行交互式操作,然后自动生成相应的Playwright代码。

图片

使用Playwright代码生成器的基本步骤:

  • 打开Playwright代码生成器网站:https://playwright.dev/docs/codegen/ 或者通过命令行执行:

playwright codegen https://playwright.dev

  • 在网页中,你可以选择要使用的编程语言(如JavaScript、Python、TypeScript),以及要测试的目标网站。
  • 点击“Start recording”按钮,然后在弹出的浏览器窗口中进行交互式操作,如点击按钮、填写表单等。
  • 完成交互式操作后,点击“Stop recording”按钮。
  • 在页面中将生成的代码显示出来,你可以复制并粘贴到你的项目中使用。

通过使用代码生成器,你可以节省大量时间,特别是对于那些不熟悉Playwright API的开发人员来说,这是一个非常有用的工具。生成的代码可以作为起点,然后根据需要进行修改和扩展。

7、追踪查看器

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
获取:vip1024b (备注软件测试)**
[外链图片转存中…(img-UhDjJUxe-1713451054664)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2401_84264610/article/details/137940519

智能推荐

软件系统的安全性和保密性_软件保密性-程序员宅基地

文章浏览阅读9.6k次。 作者:Robert BK Dewar,2007年7月原文:http://www.ddj.com/security/199300140译者:logiciel,2009年8月8日 在当今世界,我们越来越倚赖于软件系统的安全性和保密性。在新生产的轿车中,刹车和控制系统依赖于复杂的软件。在公众投票站中,计票机依赖于正确记录投票的软件。 传统观点认为软件安全_软件保密性

Boost.Asio的使用技巧_boost::asio::posix::stream_descriptor-程序员宅基地

文章浏览阅读737次。基本概念Asio proactorI/O服务work类run() vs poll()stop()post() vs dispatch()buffer类缓冲区管理I/O对象socket信号处理定时器strand参考最近尝试使用了一下Boost.Asio,不知道是否因为各大公司都有自己相对成熟的网络库的缘故,网络上Asio相关的资料实在不多,而且很多翻来覆去_boost::asio::posix::stream_descriptor

芯片解密STM8S903K3/STM8S003F3破解意法单片机程序提取_stm8s003f3程序提取-程序员宅基地

文章浏览阅读8.8k次。原文地址::http://blog.sina.com.cn/s/blog_148f658a00102vqdd.htmlSTM8S系列芯片解密已成为了热门行业,本工作室长期研究并提供各种型号STM8S系列芯片解密。不仅解密速度快,当天提供芯片解密后的程序,并可提供STM8S系列芯片解密后的反汇编。  ◆芯片简介  意法半导体(ST)再次扩大8位微控制器的产品阵_stm8s003f3程序提取

在 CentOS 1804 中 修改 MySQL 密码策略-程序员宅基地

文章浏览阅读466次。相关链接:在 CentOS 1804 中 使用 yum 安装 MySQL 5.7 最新版在 CentOS 1804 中 安装 MySQL 5.7.20 (或任意MySQL版本)在 CentOS 1804 中 修改 MySQL 密码策略在 CentOS 中 开启 MySQL 的 3306 端口在不打开 MySQL 3306 端口的情况下,使用 Navicat 进项远程连接(使用2...

计算机专业ic设计,ic设计是什么专业_IC设计的设计方法-程序员宅基地

文章浏览阅读2.2k次。ic设计是什么专业IC专业就是集成电路设计专业。集成电路设计,是电子工程学和计算机zhi工程学的一个学科,其主要内容是运用专业的逻辑和电路设计技术设计集成电路(IC)。IC设计涉及硬件软件两方面专业知识。集成电路设计涉及对电子器件(例如晶体管、电阻器、电容器等)、器件间互连线模型的创建。所有的器件和互连线都需安置在一块半导体衬底材料之上,这些组件通过半导体器件制造工艺(例如光刻等)安置在单一的硅衬..._ic设计有哪些方法?

随便推点

基于FPGA的cameralink编解码测试系统设计_基于fpga的cameralink编码测试系统设计-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏15次。1、目的项目需要设计一个多功能参数可变的cameralink相机视频接收机,接收到相机传过来的视频数据通过PCIE往上位机发。开始没有可供测试的相机,于是想着用FPGA模拟cameralink协议自行写一个视频发送机,用于对接自己的设计的cameralink视频接收机;采用两块FPGA板对接,用lvds差分信号传输数据;发送机实现FPGA对视频数据的cameralink协议编码;接收机实现FPGA对视频数据的cameralink协议解码;接收到的数据是:portA,portB,por_基于fpga的cameralink编码测试系统设计

java项目中使用dubbo实战_dubbo使用java-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏7次。在java项目中使用dubbo的实战事例。_dubbo使用java

IDA pro 安装keypatch插件_ida fail to load the dynamic library.-程序员宅基地

文章浏览阅读8.9k次,点赞3次,收藏7次。IDA pro 7.5 安装keypatch插件前言一、安装过程二、出现问题前言本篇记录IDA pro 7.5 安装keypatch插件。缺少相应库,无法加载keypatch插件:"fail to load the dynamic library"一、安装过程安装好python环境后,安装 keystone。 (网址:https://www.keystone-engine.org/download/)pip install keystone-engine # 安装pip inst_ida fail to load the dynamic library.

【Unity】绘制阿基米德螺旋线-程序员宅基地

文章浏览阅读2.6w次,点赞9次,收藏23次。阿基米德螺旋线公式: //极坐标方程为: r = a + bθ //平面笛卡尔坐标方程式为: x = (a + bθ)cos(θ), y = (a + bθ)sin(θ) //a: 当θ=0°时的极径(mm) //b: 阿基米德螺旋线系数(mm/°),表示每旋转1度时极径的增加/减小量 //θ: 极角,单位为度,表示阿基米德螺旋线转过的总度数(弧度)......_阿基米德螺旋线

C++贪心算法之均分纸牌_粮食均分c++-程序员宅基地

文章浏览阅读8.3k次,点赞5次,收藏14次。均分纸牌题目描述有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。_粮食均分c++

编辑器之战_vi 有两个模式 :“不停地哔哔叫”和“搞砸一切”。-程序员宅基地

文章浏览阅读631次。编辑器之战 是指计算机编程领域内,两类文本编辑器vi(以及衍生版本)和Emacs用户之间的对抗冲突。这已经成为黑客文化和自由软件社区文化的一部分。战火在两群用户之间多次点燃,他们互相蔑视,坚信自己的选择才是最完美的。相比其他的IT领域战争(如浏览器大战、操作系统之争、编程语言之争、代码缩进风格之战),编辑器的选择其实通常只是个人问题。vi与Emacs的不同vi与Emacs之间最_vi 有两个模式 :“不停地哔哔叫”和“搞砸一切”。

推荐文章

热门文章

相关标签