自动化测试工具大盘点

2023-11-14

本系列文章我们将带大家一起了解一下互联网大厂中通科技的自动化测试平台的搭建历程,从以下四个方面展开介绍:为什么要做这样一个统一的自动化测试平台?是如何做到统一的?平台上线后的收益,最后一部分会给大家分享一下他们未来的一些开发计划。 

在本系列文章的最开始,先为大家介绍一下他们以前在使用的各种各样的自动化测试工具。

首先是Appium + Robot Framework的组合,做过移动端UI自动化测试的朋友应该都知道Appium,Robot Framework的使用后面也会给大家分享一下。这两个工具加上Airtest就是我们移动端UI自动化测试常见的三个工具。

后面的Selenium、Cypress和Playwright是中通科技内部做web端的UI自动化测试使用的三个工具。
通过这里大家也可以看到,中通科技内部使用了太多的测试工具,这样就容易导致在选择到底使用哪一种工具的时候会很难达成一致。

接下来给大家详细介绍一下这几个工具。

Robot Framework
首先是Robot Framework,从我们写的脚本中就能很清晰地看到,它是通过关键字去做脚本的编辑。下图是我们之前做过的一套自动化脚本,我们使用的是中文,让更多不会写自动化测试脚本的同学能够快速编写脚本。


但是它也会带来一些问题,比如等脚本的逻辑变得复杂之后,复杂度会急剧提升,导致脚本的编写门槛会再次提升。
 


比如图中所示,我们要写一个for循环的逻辑,它的代码量和复杂度比普通的Python或其他语言的脚本是有所提升的。


Airtest


接下来给大家介绍一下Airtest,它是网易出品的一个工具,它的优点有:跨平台、IDE 支持、扩展性好(Python 支持)和Poco支持,可以通过更复杂的脚本去支持一些复杂的逻辑。


但是它提供的IDE存在一些问题,跟通常意义上Python的IDE相比,在复杂逻辑和代码逻辑补全方面会存在一些问题。

Cypress


Cypress它提供了一些很好的功能,比如可以跑在浏览器中,使用Node.js去编写代码脚本,还可以自动去等待执行结果的反馈,不用去手动写slick逻辑。


缺点是只支持Node.js的脚本,对于很多人来说,学习一种新的语言也是有一定成本的。

Playwright


最后给大家介绍一下Playwright,这个框架是微软开发的,它支持跨浏览器、跨平台,支持多语言,也支持移动端web页面的一些测试。

后面的文章会继续为大家介绍中通科技自动化测试面临的困境,以及如何搭建了一套符合自己需求的自动化测试平台等内容,欢迎大家继续关注。

(本系列文章根据《优品软件培育计划》公益直播内容整理,可以私信我获取直播回放链接。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化测试工具大盘点 的相关文章

  • 性能分析与调优: Linux 内存观测工具

    目录 一 实验 1 环境 2 vmstat 3 PSI 4 swapon 5 sar 6 slabtop 7 numstat 8 ps 9 top 10 pmap 11 perf 12 bpftrace 二 问题 1 接口读写报错 2 sl
  • 双系统安装win7出现grub怎么解决

    我们在重装系统时 特别苹果装双系统时 会出现安装过程或者安装后的问题 发现系统开机显示grub 导致不能正常进入系统 让人很是着急 其实出现这种情况是因为系统找不到主引记录所导致 只要重建主引记录mbr即可解决 下面小编就教教大家win7系
  • Python组装jmx并调用JMeter执行压测

    JMeter 可以通过os命令调用Python脚本 Python同样可以通过系统命令调用JMeter执行压测 Python调用JMeter 首先要安装JMeter 官方下载地址 解压并配置配置环境路径或建立软连 使得在命令输入jmeter便
  • IT圈大实话!卷运维不如卷网络安全

    前言 在刚刚过去的金九银十 我进行了多场网络安全的技术面试 我发现最近很多从事运维的选择了辞职 转行到了网络安全这个发展路线 说实话 运维工程师这个岗位在IT行业里面确实是处于最底层的 不管什么环节出现问题 基本都是运维背锅 薪资水平也比不
  • 进程间通信

    进程间通信 进程间通信介绍 进程间通信目的 数据传输 一个进程需要将它的数据发送给另一个进程 资源共享 多个进程之间共享同样的资源 通知事件 一个进程需要向另一个或一组进程发送消息 通知它 它们 发生了某种事件 如进程终止 时要通知父进程
  • Fiddler工具 — 9.命令行和状态栏

    1 命令行 命令行在Fiddler的左下方的黑色窗口 也叫 QuickExec 可以调用 Fiddler的内置命令 这一系列内置的函数用于筛选和操作会话列表中的session 会话 虽然它不是很显眼 但用好它 会让你的工作效率提高 N 倍
  • TeslaMate特斯拉神器本地Docker部署实现无公网远程访问

    文章目录 1 Docker部署TeslaMate 2 本地访问TeslaMate 3 Linux安装Cpolar 4 配置TeslaMate公网地址 5 远程访问TeslaMate 6 固定TeslaMate公网地址
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • 如何解读服务器的配置和架构?

    在当今数字化时代 服务器作为企业或组织的重要基础设施 其配置和架构对于保障业务的稳定运行至关重要 如何解读服务器的配置和架构 成为了一个备受关注的话题 本文将围绕服务器配置和架构的解读进行深入探讨 帮助读者更好地理解服务器的性能 扩展性和安
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • Jenkins流水线怎么做?

    问CHAT Jenkins流水线怎么做 CHAT回复 Jenkins流水线是一种创建 测试和部署应用程序的方法 以下是为Jenkins创建流水线的步骤 1 安装Jenkins 首先你需要在你的服务器上安装Jenkins 这个过程可能会根据你
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi
  • Kubernetes (十二) 存储——Volumes配置管理

    一 卷的概念 官方地址 卷 Kubernetes https v1 24 docs kubernetes io zh cn docs concepts storage volumes 二 卷的类型及使用 emptyDir卷 1 创建编辑文件
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • 【安全-SSH】SSH安全设置

    今天发现自己的公有云服务器被攻击了 在这里插入图片描述 https img blog csdnimg cn direct cafdca04646f4b8b838400ec79ac282f png 然后查看了登录日志 如上图 ls sh va

随机推荐

  • Android适配刘海屏沉浸式状态栏的一些坑

    在国内做Android开发真的不容易 国内的深度定制 安卓 总能时不时的给你来几个 惊喜 起因 18年简直是刘海元年 所有手机都在跟风刘海屏 甚至每个厂商还有自己的一套适配规范 我的初始需求很简单 就是做一个全屏显示的页面 一般情况下只需要
  • 一个人如何才能成功

    最近看了很多书 听了很多讲座 给我的感触很深 让我想了很多 联想的老总柳传志 GE的前任老总 还有松下幸之助他们为什么会成功 他们有什么不同常人的地方呢 听了华人讲师陈安之的讲座 触动了我得内心深处 他也是一个普通人 在他成功之前他也遇到很
  • 手工装配Visual Studio 2010(vc_runtime_x86)

    1 之前遇到一个问题 c cli的程序部署在服务器上面 程序运行后没有反应就退出了 日志管理器中记录两个错误信息分别如下 1 gt Faulting application 5gameserver 1 exe version 0 0 0 0
  • c++ 常见编译错误

    1 redefinition of class previous definition of class 表示重复定义了类 一般说来是因为在你进行该类定义的头文件中没有使用 ifndef define和 endif来进行保护 如果你确定你在
  • 利用PPT、Excel实现抽题

    利用PPT Excel实现随机抽题 教程 附文件 不管是在公司 还是学校 PPT Excel已经成为不可缺少的一种工具 在各种活动中 有很多场合需要利用PPT实现随机抽题 本文将为你详细 详细 详细的教你如何使用PPT Excel实现随机抽
  • eclipse检测是否连接mysql数据库

    eclipse检测是否连接上数据库 1 先找到Data Source Explorer 2 找到Database connection 并new找到自己的要连接的数据库 3 next 如果没有值则点击添加 4 忽略红叉 并移除自带的包 添加
  • 简单明了操作——ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏)

    简单明了操作 ESP8266 NodeMCU驱动TFT LCD液晶屏 制作透明小电视前奏 前言 准备材料 esp8266 NodeMCU 串口WiFi模块 1 44inch SPI Arduino Module Black SKU MAR1
  • C语言进阶:动态内存管理

    目录 1 为什么存在动态内存分配 2 动态内存函数的介绍 2 1 malloc和free 2 2 calloc 2 3 realloc 3 常见的动态内存错误 3 1 对NULL指针的解引用操作 3 2 对动态开辟空间的越界访问 3 3 对
  • MongoDB和MySQL性能测试及其结果分析

    MongoDB和MySQL性能测试及其结果分析 2011 02 23 11 18 洪小军 博客园 字号 T T 编者用四组数据的查询和插入操作说明MongoDB HandlerSocket和MySQL在QPS CPU IO三种情况下性能的差
  • Error updating database. Cause:java.sql.SQLException: Lock wait timeout exceeded; try 清除数据库执行时间较长的任务

    SELECT FROM information schema PROCESSLIST WHERE TIME gt 1000 AND USER dimsusr ORDER BY TIME DESC kill id Error updating
  • 测试工程师如何进行需求评审

    需求文档是测试过程的重要输入之一 测试工程师根据需求文档进行测试活动 包括测试方案的制定 测试设备的准备 测试环境的搭建以及测试用例的设计 需求文档的质量直接影响到测试工作效率 在一个成熟的软件开发过程中 测试工程师需要尽早地进入项目对需求
  • 投资人和创业者如何相处 听听几位大佬观点

    在8月14日的以太Bit大会上 源码资本创始人曹毅 清流资本董事总经理王梦秋 华创资本合伙人吴海燕 明势资本创始人黄明明 零一创投合伙人吴运龙坐在了一起 讨论起投资人的生存法则 以及和创业者的合作关系 投资人能为创业者做什么 曹毅 我觉得我
  • sklearn中的特征工程(过滤法、嵌入法和包装法)

    特征工程的第一步 理解业务 如果特征比较少且容易理解 我们可以自行判断特征的取舍 如前面的泰坦尼克号数据集 但是 在真正的数据应用领域 比如金融 医疗 电商 我们的数据不可能像泰坦尼克号数据的特征这样少 这样明显 那如果遇见极端情况 我们无
  • 我的2022年度总结

    随着Apple Store越来越成熟 以及越来越多的开发者和公司希望在该平台上投放自己的产品 iOS APP上架成为许多开发者和公司普遍关注的话题 最近发现有款开发工具非常好用 特意去找了一个工具的成长历程 最早的版本 发现此款工具从202
  • 西门子S7报文解析

    1 报文的基本格式 1 1 第1和第2个字节是 固定报文头03 00 这里我们就用到三种报文 a 初始化 b 读 c 写 都是这种格式 1 2 第3和第4个字节是 整个报文的长度 其它部分就是各种报文的个性化处理了 下面分析大量报文的案例进
  • Open3D 最小二乘拟合二维圆

    目录 一 算法原理 二 代码实现 三 结果展示 一 算法原理 见 Open3D 最小二乘拟合二维圆 python详细过程版 二 代码实现 import open3d as o3d import numpy as np import matp
  • FBX SDK下载安装教程

    目录 FBX SDK介绍 FBX SDK下载安装 FBX SDK介绍 Fbx 是 Autodesk MotionBuilder 固有的文件格式 用于创建 编辑和混合运动捕捉和关键帧动画 也常用于动画文件在不同的DCC 三维软件 之间的互导
  • SpringBoot 场景开发多面手成长手册

    小册介绍 SpringBoot之强大 SpringBoot 的强大之处不言而喻 其底层 SpringFramework 强大的 IOC 容器和 AOP 机制 加之 SpringBoot 的自动装配 使得 SpringBoot 成为当今 Ja
  • 聊聊你不知道的Java变量转型

    单枪匹马你别怕 一腔孤勇又如何 这一路你可以哭 但不能怂 请关注 源码猎人 目录 简介 标识符命名规则 类变量 静态变量 实例变量 局部变量 变量数据类型 基本类型之间的转换 常见面试题 简介 Java变量分为类变量 实例变量 局部变量 在
  • 自动化测试工具大盘点

    本系列文章我们将带大家一起了解一下互联网大厂中通科技的自动化测试平台的搭建历程 从以下四个方面展开介绍 为什么要做这样一个统一的自动化测试平台 是如何做到统一的 平台上线后的收益 最后一部分会给大家分享一下他们未来的一些开发计划 在本系列文