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

RobotFramework的安装过程及应用举例

一、安装python3.8.0

二、安装wxPython

C:\>pip install -U wxPython
Collecting wxPythonObtaining dependency information for wxPython from https://files.pythonhosted.org/packages/00/78/b11f255451f7a46fce2c96a0abe6aa8b31493c739ade197730511d9ba81a/wxPython-4.2.1-cp38-cp38-win_amd64.whl.metadataDownloading wxPython-4.2.1-cp38-cp38-win_amd64.whl.metadata (3.0 kB)
Requirement already satisfied: pillow in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython) (10.0.0)
Requirement already satisfied: six in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython) (1.16.0)
Requirement already satisfied: numpy in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython) (1.24.4)
Downloading wxPython-4.2.1-cp38-cp38-win_amd64.whl (18.1 MB)---------------------------------------- 18.1/18.1 MB 22.0 kB/s eta 0:00:00
Installing collected packages: wxPython
Successfully installed wxPython-4.2.1C:\>

三、安装robotframework

C:\>pip install robotframework
Collecting robotframeworkObtaining dependency information for robotframework from https://files.pythonhosted.org/packages/b5/f0/3338803e955926c7826cfe6738ed99db1f76c3a86defca2c33228b12119a/robotframework-6.1.1-py3-none-any.whl.metadataDownloading robotframework-6.1.1-py3-none-any.whl.metadata (7.5 kB)
Downloading robotframework-6.1.1-py3-none-any.whl (699 kB)---------------------------------------- 699.1/699.1 kB 165.7 kB/s eta 0:00:00
Installing collected packages: robotframework
Successfully installed robotframework-6.1.1C:\>

四、安装robotframework-ride

C:\>pip install robotframework-ride
Collecting robotframework-rideDownloading robotframework-ride-2.0.6.zip (1.8 MB)---------------------------------------- 1.8/1.8 MB 40.3 kB/s eta 0:00:00Installing build dependencies ... doneGetting requirements to build wheel ... donePreparing metadata (pyproject.toml) ... done
Collecting PyPubSub (from robotframework-ride)Downloading Pypubsub-4.0.3-py3-none-any.whl (61 kB)---------------------------------------- 61.4/61.4 kB 27.3 kB/s eta 0:00:00
Collecting Pygments (from robotframework-ride)Obtaining dependency information for Pygments from https://files.pythonhosted.org/packages/43/88/29adf0b44ba6ac85045e63734ae0997d3c58d8b1a91c914d240828d0d73d/Pygments-2.16.1-py3-none-any.whl.metadataDownloading Pygments-2.16.1-py3-none-any.whl.metadata (2.5 kB)
Collecting psutil (from robotframework-ride)Downloading psutil-5.9.5-cp36-abi3-win_amd64.whl (255 kB)---------------------------------------- 255.1/255.1 kB 40.3 kB/s eta 0:00:00
Requirement already satisfied: wxPython in c:\rtkapp\python-3.8.0\lib\site-packages (from robotframework-ride) (4.2.1)
Collecting Pywin32 (from robotframework-ride)Downloading pywin32-306-cp38-cp38-win_amd64.whl (9.4 MB)---------------------------------------- 9.4/9.4 MB 26.1 kB/s eta 0:00:00
Requirement already satisfied: pillow in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython->robotframework-ride) (10.0.0)
Requirement already satisfied: six in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython->robotframework-ride) (1.16.0)
Requirement already satisfied: numpy in c:\rtkapp\python-3.8.0\lib\site-packages (from wxPython->robotframework-ride) (1.24.4)
Downloading Pygments-2.16.1-py3-none-any.whl (1.2 MB)---------------------------------------- 1.2/1.2 MB 23.9 kB/s eta 0:00:00
Building wheels for collected packages: robotframework-rideBuilding wheel for robotframework-ride (pyproject.toml) ... doneCreated wheel for robotframework-ride: filename=robotframework_ride-2.0.6-py3-none-any.whl size=1436920 sha256=84f50be902d3631402b7f54e9e0c58b725733a24bc54602b6f19da95efba6f93Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\3d\b3\48\bb3eece94032ff981debf3b9a25c7a81356af7190c8f7773cf
Successfully built robotframework-ride
Installing collected packages: Pywin32, PyPubSub, Pygments, psutil, robotframework-ride
Successfully installed PyPubSub-4.0.3 Pygments-2.16.1 Pywin32-306 psutil-5.9.5 robotframework-ride-2.0.6C:\>

五、安装robotframework-selenium2library

C:\>pip install robotframework-selenium2library
Collecting robotframework-selenium2libraryUsing cached robotframework_selenium2library-3.0.0-py2.py3-none-any.whl (6.2 kB)
Collecting robotframework-seleniumlibrary>=3.0.0 (from robotframework-selenium2library)Obtaining dependency information for robotframework-seleniumlibrary>=3.0.0 from https://files.pythonhosted.org/packages/e9/3d/1a72ef735c70e40c27d1b8685b35431a723f6475a7698ee17feb726382ca/robotframework_seleniumlibrary-6.1.1-py2.py3-none-any.whl.metadataUsing cached robotframework_seleniumlibrary-6.1.1-py2.py3-none-any.whl.metadata (15 kB)
Collecting selenium>=4.3.0 (from robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for selenium>=4.3.0 from https://files.pythonhosted.org/packages/10/56/8288d1813a68c1e0638515dbb777fce6d87d0d240e683216f956145310e6/selenium-4.11.2-py3-none-any.whl.metadataUsing cached selenium-4.11.2-py3-none-any.whl.metadata (7.0 kB)
Requirement already satisfied: robotframework>=4.1.3 in c:\rtkapp\python-3.8.0\lib\site-packages (from robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library) (6.1.1)
Collecting robotframework-pythonlibcore>=3.0.0 (from robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for robotframework-pythonlibcore>=3.0.0 from https://files.pythonhosted.org/packages/af/2b/88274849d9ea6cdddbbdf40e5262d92fdd7e20026026c49369c07d7f62d5/robotframework_pythonlibcore-4.2.0-py2.py3-none-any.whl.metadataUsing cached robotframework_pythonlibcore-4.2.0-py2.py3-none-any.whl.metadata (6.0 kB)
Collecting urllib3[socks]<3,>=1.26 (from selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for urllib3[socks]<3,>=1.26 from https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl.metadataUsing cached urllib3-2.0.4-py3-none-any.whl.metadata (6.6 kB)
Collecting trio~=0.17 (from selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for trio~=0.17 from https://files.pythonhosted.org/packages/a3/dd/b61fa61b186d3267ef3903048fbee29132963ae762fb70b08d4a3cd6f7aa/trio-0.22.2-py3-none-any.whl.metadataUsing cached trio-0.22.2-py3-none-any.whl.metadata (4.7 kB)
Collecting trio-websocket~=0.9 (from selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for trio-websocket~=0.9 from https://files.pythonhosted.org/packages/a5/a6/06e2373f95c12e9e8f6b910a76c86e375348ead77ab476230640666310fb/trio_websocket-0.10.3-py3-none-any.whl.metadataUsing cached trio_websocket-0.10.3-py3-none-any.whl.metadata (4.6 kB)
Collecting certifi>=2021.10.8 (from selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for certifi>=2021.10.8 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadataUsing cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting attrs>=20.1.0 (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached attrs-23.1.0-py3-none-any.whl (61 kB)
Collecting sortedcontainers (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting idna (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting outcome (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached outcome-1.2.0-py2.py3-none-any.whl (9.7 kB)
Collecting sniffio (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting cffi>=1.14 (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached cffi-1.15.1-cp38-cp38-win_amd64.whl (178 kB)
Collecting exceptiongroup>=1.0.0rc9 (from trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Obtaining dependency information for exceptiongroup>=1.0.0rc9 from https://files.pythonhosted.org/packages/fe/17/f43b7c9ccf399d72038042ee72785c305f6c6fdc6231942f8ab99d995742/exceptiongroup-1.1.2-py3-none-any.whl.metadataUsing cached exceptiongroup-1.1.2-py3-none-any.whl.metadata (6.1 kB)
Collecting wsproto>=0.14 (from trio-websocket~=0.9->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting pysocks!=1.5.7,<2.0,>=1.5.6 (from urllib3[socks]<3,>=1.26->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached PySocks-1.7.1-py3-none-any.whl (16 kB)
Collecting pycparser (from cffi>=1.14->trio~=0.17->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting h11<1,>=0.9.0 (from wsproto>=0.14->trio-websocket~=0.9->selenium>=4.3.0->robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library)Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Using cached robotframework_seleniumlibrary-6.1.1-py2.py3-none-any.whl (96 kB)
Using cached robotframework_pythonlibcore-4.2.0-py2.py3-none-any.whl (10 kB)
Downloading selenium-4.11.2-py3-none-any.whl (7.2 MB)---------------------------------------- 7.2/7.2 MB 17.0 kB/s eta 0:00:00
Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)---------------------------------------- 158.3/158.3 kB 18.9 kB/s eta 0:00:00
Downloading trio-0.22.2-py3-none-any.whl (400 kB)---------------------------------------- 400.2/400.2 kB 25.7 kB/s eta 0:00:00
Downloading trio_websocket-0.10.3-py3-none-any.whl (17 kB)
Downloading exceptiongroup-1.1.2-py3-none-any.whl (14 kB)
Downloading urllib3-2.0.4-py3-none-any.whl (123 kB)---------------------------------------- 123.9/123.9 kB 25.6 kB/s eta 0:00:00
Installing collected packages: sortedcontainers, urllib3, sniffio, robotframework-pythonlibcore, pysocks, pycparser, idna, h11, exceptiongroup, certifi, attrs, wsproto, outcome, cffi, trio, trio-websocket, selenium, robotframework-seleniumlibrary, robotframework-selenium2library
Successfully installed attrs-23.1.0 certifi-2023.7.22 cffi-1.15.1 exceptiongroup-1.1.2 h11-0.14.0 idna-3.4 outcome-1.2.0 pycparser-2.21 pysocks-1.7.1 robotframework-pythonlibcore-4.2.0 robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-6.1.1 selenium-4.11.2 sniffio-1.3.0 sortedcontainers-2.4.0 trio-0.22.2 trio-websocket-0.10.3 urllib3-2.0.4 wsproto-1.2.0C:\>

六、如下图鼠标双击打开ride.py

 七、RIDE打开后的界面

至此安装成功

相关文章:

RobotFramework的安装过程及应用举例

一、安装python3.8.0 二、安装wxPython C:\>pip install -U wxPython Collecting wxPythonObtaining dependency information for wxPython from https://files.pythonhosted.org/packages/00/78/b11f255451f7a46fce2c96a0abe6aa8b31493c739ade197730511d9ba81a/wxPython-…...

WebGL系列教程:WebGL基础知识

下面我们来正式学习WebGL开发中的一些基本的概念和知识。 一、HTML画布 为了在 Web 上创建图形应用程序,HTML5 提供了一组丰富的功能,例如 2D Canvas、WebGL、SVG、3D CSS 转换和 SMIL。要编写 WebGL 应用程序,就需要用到 HTML5 的画布元素。 1.1 HTML5 画布 HTML5 的标…...

数据的逻辑结构和存储结构

数据结构的三要素 逻辑结构存储结构顺序存储链式存储索引存储散列存储 数据的运算 逻辑结构 逻辑结构是指数据元素之间的逻辑关系&#xff0c;即从逻辑关系上描述数据。它与数据的存储无关&#xff0c;是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构 线性表是典型…...

观察者模式(C++)

定义 定义对象间的一种一对多(变化)的依赖关系&#xff0c;以便当一个对象(Subject)的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并自动更新。 ——《设计模式》GoF 使用场景 一个对象&#xff08;目标对象&#xff09;的状态发生改变&#xff0c;所有的依赖对…...

Web安全——Burp Suite基础上

Burp Suite基础 一、Burp Suite安装和环境配置如何命令行启动Burp Suite 二、Burp Suite代理和浏览器设置FireFox设置 三、如何使用Burp Suite代理1、Burp Proxy基本使用2、数据拦截与控制3、可选项配置Options客户端请求消息拦截服务器端返回消息拦截服务器返回消息修改正则表…...

面试题更新之-this指向问题

文章目录 this指向是什么常见情况下 this 的指向怎么修改this的指向 this指向是什么 JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的&#xff0c;根据执行上下文的不同而变化。 常见情况下 this 的指向 全局作用域中的 this&#xff1a; 在全局作…...

商品推荐系统浅析 | 京东云技术团队

一、综述 本文主要做推荐系统浅析&#xff0c;主要介绍推荐系统的定义&#xff0c;推荐系统的基础框架&#xff0c;简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学&#xff0c;本人水平有限&#xff0c;欢迎大家指正。 二、商品…...

【力扣每日一题】2023.8.8 任意子数组和的绝对值的最大值

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个数组&#xff0c;让我们找出它的绝对值最大的子数组的和。 这边的子数组是要求连续的&#xff0c;让我们找出一个元素之和…...

SpringBoot Web开发静态资源处理

Web开发探究 简介 其实SpringBoot的东西用起来非常简单&#xff0c;因为SpringBoot最大的特点就是自动装配 使用SpringBoot的步骤&#xff1a; 1、创建一个SpringBoot应用&#xff0c;选择我们需要的模块&#xff0c;SpringBoot就会默认将我们的需要的模块自动配置好 2、手动…...

Dockerfile定制Tomcat镜像

Dockerfile中的打包命令 FROM &#xff1a; 以某个基础镜像作为此镜像的基础 RUN &#xff1a; RUN后面跟着linux常用命令&#xff0c;如RUN echo xxx >> xxx,注意&#xff0c;RUN 不能用于执行命令&#xff0c;因为每个RUN都是独立运行的&#xff0c;RUN 的cd对镜像中的…...

【计算机网络】概述及数据链路层

每一层只依赖于下一层所提供的服务&#xff0c;使得各层之间相互独立、灵活性好&#xff0c;已于实现和维护&#xff0c;并能促进标准化工作。 应用层&#xff1a;通过应用进程间的交互完成特定的网络应用&#xff0c;HTTP、FTP、DNS&#xff0c;应用层交互的数据单元被称为报…...

Java——基础语法(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

数据结构----算法--分治,快速幂

数据结构----算法–分治,快速幂 一.分治 1.分治的概念 分治法&#xff1a;分而治之 将一个问题拆解成若干个解决方式完全相同的问题 满足分治的四个条件 1.问题难度随着数据规模缩小而降低 2.问题可拆分 3.子问题间相互独立 4.子问题的解可合并 2.二分查找(折半搜索)…...

【ChatGPT 指令大全】怎么使用ChatGPT写履历和通过面试

目录 怎么使用ChatGPT写履历 寻求履历的反馈 为履历加上量化数据 把经历修精简 为不同公司客制化撰写履历 怎么使用ChatGPT通过面试 汇整面试题目 给予回馈 提供追问的问题 用 STAR 原则回答面试问题 感谢面试官的 email 总结 在职场竞争激烈的今天&#xff0c;写一…...

微服务:从header中获取用户存入当前线程

1、从网关gateway工程filter中解析token携带的当前用户信息并添加到header中 //获取token携带的idObject userid claimsBody.get("id");//在header中添加新的信息ServerHttpRequest serverHttpRequest request.mutate().headers(httpHeaders -> {httpHeaders.ad…...

C语言系列之原码、反码和补码

一.欢迎来到我的酒馆 讨论c语言中&#xff0c;原码、反码、补码。 目录 一.欢迎来到我的酒馆二.原码 二.原码 2.1在计算机中&#xff0c;所有数据都是以二进制存储的&#xff0c;但不是直接存储二进制数&#xff0c;而是存储二进制的补码。原码很好理解&#xff0c;就是对应的…...

程序框架——UI管理模块

UI基类BasePanel 负责帮助我们通过代码快速的找到所有的子控件&#xff0c;方便我们在子类中处理逻辑&#xff0c;节约找控件的工作量。 public class BasePanel : MonoBehaviour {//通过里式转换原则 来存储所有的控件private Dictionary<string, List<UIBehaviour>…...

MySQL 慢查询探究分析

目录 背景&#xff1a; mysql 整体结构&#xff1a; SQL查询语句执行过程是怎样的&#xff1a; 知道了mysql的整体架构&#xff0c;那么一条查询语句是怎么被执行的呢&#xff1a; 什么是索引&#xff1a; 建立索引越多越好吗&#xff1a;   如何发现慢查询&#xff1…...

wpf 项目中使用 Prism + MaterialDesign

1.通过nuget安装MaterialDesign 2.通过nuget安装Prism 3.修改App.xmal <prism:PrismApplication x:Class"VisionMeasureGlue.App"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/…...

【Spring Boot】Thymeleaf模板引擎 — Thymeleaf页面布局

Thymeleaf页面布局 熟悉Thymeleaf的语法和表达式后&#xff0c;后面开发起来会更加得心应手。接下来好好研究一下Thymeleaf如何实现完整的Web系统页面布局。 1.引入代码片段 在模板中经常希望包含来自其他模板页面的内容&#xff0c;如页脚、页眉、菜单等。为了做到这一点&a…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...