Airtest脚本的重构与优化:提升测试效率和可读性
1. 理解脚本的现状
2. 剥离与重用
def login(username, password):
touch(Template(r"tpl_login_button.png"))
wait(Template(r"tpl_login_page.png"))
text(username)
text(password)
touch(Template(r"tpl_submit_button.png"))
3. 优化等待策略
# 不推荐
sleep(10)
touch(Template(r"tpl_next_page_button.png"))
# 推荐
wait(Template(r"tpl_next_page_button.png"), timeout=15) touch(Template(r"tpl_next_page_button.png")) poco("yellow").wait_for_appearance(timeout=20) #等待控件出现
poco(text="Count:").wait_for_disappearance(timeout=3) #等待控件消失
4. 提高代码可读性
# 不推荐
def f1(u, p):
touch(Template(r"tpl_login.png"))
# ...
# 推荐
def login(username, password):
""" 用户登录操作 :param
username: 用户名 :param
password: 密码 """
touch(Template(r"tpl_login_button.png"))
# ...
5. 利用模块和类封装测试逻辑
class Account:
def __init__(self, username, password):
self.username = username
self.password = password
def login(self):
touch(Template(r"tpl_login_button.png"))
text(self.username, Template(r"tpl_username_input.png"))
text(self.password, Template(r"tpl_password_input.png"))
touch(Template(r"tpl_submit_button.png"))
def logout(self):
touch(Template(r"tpl_logout_button.png"))
6. 引入异常处理
try:
touch(Template(r"tpl_nonexistent_element.png"))
except TargetNotFoundError:
print("元素定位失败")
7. 性能优化
-
优化图片匹配 -
减少不必要的操作 -
并行执行
8. 持续集成和自动化部署
9. 小结
本文分享自微信公众号 - AirtestProject(AirtestProject)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
TiKV 源码分析之 PointGet
作者:来自 vivo 互联网存储研发团队-Guo Xiang 本文介绍了TiDB中最基本的PointGet算子在存储层TiKV中的执行流程。 一、背景介绍 TiDB是一款具有HTAP能力(同时支持在线事务处理与在线分析处理 )的融合型分布式数据库产品,具备水平扩容或者缩容等重要特性。TiDB 采用多副本+Multi-Raft 算法的方式将数据调度到不同的机器节点上,具备较高的可靠性和容灾能力。TiDB中的存储层TiKV组件,能够独立于TiDB作为一款分布式KV数据库使用,目前已经捐赠给CNCF并于2020年正式毕业。目前vivo公司内部的磁盘KV产品采用了开源的TiKV作为存储层实现, 目前已经在公司的不同业务产品中有深度实践。 TiKV作为一款KV数据库产品,同时提供了RawAPI和TxnAPI两套接口: RawAPI仅支持最基本的针对单Key操作的Set/Get/Del及Scan语义 TxnAPI提供了基于ACID事务标准的接口,支持多Key写入的原子性 TxnAPI采用了分布式事务来保证多Key写入的原子性,其适用的业务场景与RawAPI相比来说更为广泛。本文后续内容将重点对Po...
-
下一篇
低代码赋能企业数字化转型:数百家软件公司的成功实践
本文转载于葡萄城公众号,原文链接:https://mp.weixin.qq.com/s/gN8Rq9TDmkMpCtNMMsBUXQ 导读 在当今的软件开发时代,以新技术助力企业数字化转型已经成为一个热门话题。如何快速适应技术变革,构建符合时代需求的技术能力和业务模式,成为了软件公司必须面对的课题。 在这个背景下,低代码技术是如何赋能软件公司,助力软件公司实现业务腾飞? 本文将从低代码时代软件公司面临的机遇与挑战入手,分享低代码转型的最佳实践:确定转型战略、探索转型路径以及打造组织能力,助力软件公司实现破局。 文末还给大家准备了**《低代码产品评估打分表》和丰富的低代码转型资源包**,为大家提供转型的指南针和加速器👇 低代码产业高速发展 过去五年来,低代码开发成为软件开发技术的一个热门领域。IDC、中国信通院、艾瑞咨询、低码时代、爱分析等众多国内外研究机构对这个领域非常关注,发布了近百份研究报告。根据这些报告对低代码发展趋势的预测,2023 年到 2025 年中国低代码产业的增速在35%-65%之间,是中国软件产业增长速度的3到5倍,低代码技术正在进入应用普及阶段。 企业对低代码技术...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- MySQL数据库在高并发下的优化方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,8上快速安装Gitea,搭建Git服务器