博闻焦点|不想舍弃Selenium,如何解决UI测试自动化的Selenium问题?
很明显 , Selenium是使UI测试自动化的组织的最受欢迎的选择 , 但是团队仍然面临着挑战 。 了解如何解决这些挑战而不完全放弃该框架 。
当我们对UI测试工具进行调查时 , 很明显Selenium已成为事实上的标准 。 但是奇怪的是 , 无论我们问谁 , 我们总是有同样的警告:“我们爱Selenium , 但也有挑战 。 ”
本文插图
不想舍弃Selenium , 如何解决UI测试自动化的Selenium问题?
因此 , 我们回到了社区 , 问:“您在UI测试方面面临的主要挑战是什么?”
结果很明显:首要挑战是建立可随时间推移保持的测试 。 通过进一步的客户采访 , 我们将主要的Selenium问题归结为以下五个挑战:
创建可靠的定位器和等待条件
UI更改时维护测试
调试和诊断自动化故障
执行整个套件所需的时间
创建脚本的知识/技能
然后 , 我们开始研究如何能够在不摆脱Selenium的情况下帮助解决这些问题 。 事实证明 , 您可以通过将Parasoft Selenic添加到组合中来解决所有这些挑战 , 但是有很多相对简单的方法可以解决Selenium的所有挑战 , 而无需放弃每个人都明确喜欢的平台 。
如何用Selenium解决前5大挑战
因此 , 让我们更深入地研究这些挑战以及如何解决它们 。
挑战1:创建可靠的定位器和等待条件
创建可靠的定位器涉及了解如何构建每次都与正确元素交互并且在不同执行之间稳定的标识符 。 用户发现自己正在浏览Chrome开发人员工具 , 以找到合适的HTML块 , 弄清楚它在做什么 , 然后花时间来构建最智能的定位器 。 通常最终会发生的情况是 , 当元素定位器处于当前状态时 , 会在应用程序中选择它 , 并且在播放时 , 东西会有所不同 。 这真的很令人沮丧 。
等待条件在这里也起着巨大的作用 。 对于现代Web应用程序 , 在单个页面中动态加载内容意味着即使找到正确的定位器 , 也必须聪明地建立正确的等待条件以确保元素准备好与之交互 。 这可能是一个巨大的痛苦 。
解决方案:智能定位器
有很多UI测试解决方案都专注于使用术语“智能定位器”解决这一确切的挑战 。最初创建测试脚本时 , 智能定位器会捕获最智能的定位器 , 以使其更易于更改 。我最近的帖子指出了用于UI测试的10种出色的新工具 , 其中包括一些具有记录和回放功能的工具 。
此外 , 还有适用于Chrome的插件 , 可在脚本创建过程中提供帮助 , 以从页面外提取最佳元素定位符 。 我一直在研究其中的几个插件 , 到目前为止 , 我见过的最好的插件是TruePath 。
【博闻焦点|不想舍弃Selenium,如何解决UI测试自动化的Selenium问题?】挑战2:当UI更改时维护测试 。
对于正在进行的敏捷测试活动 , 这是组织面临的一项艰巨挑战 。 我们一次又一次地听到这个故事——测试人员花费大量时间来构建他们的Selenium测试(具有良好的定位条件和等待条件) , 然后应用程序UI更改并且测试中断 , 通常使夜间构建失败 。 然后 , 测试人员必须返回并找出应用程序中发生了什么变化 , 确定这是真正的缺陷/回归还是测试脚本有问题 。 然后通过识别和创建新的定位器/等待条件来完成修复或更新测试的过程 。 这是一个恶性循环 。
解决方案:人工智能
人工智能确实可以在这方面为您提供帮助 。 是的 , 我知道 , 这些天AI真是个时髦的词 。 但是有非常实际的用法 。 特别是 , Parasoft Selenic在Selenium测试执行过程中使用机器学习来解决这一确切的挑战 。 每次测试运行都会在其历史记录中产生一个唯一的条目 , 显示DOM的当前状态并指示测试是否成功 。
如果测试由于应用程序UI更改而失败 , 那么Selenic会时光倒流 , 并告诉您如何构建与新版本的应用程序一起使用的新定位器 。 这真的很强大 , 因为它意味着您不必离开Selenium即可解决因更改UI带来的维护挑战(该技术的另一个好处是它具有自我修复CI/CD管道的能力 , 可以在运行时自动将定位器更新为停止不必要的构建) 。
推荐阅读
- 我为科技狂|不想太过依赖华为的订单了?中芯国际正在寻求开发更多的客户
- 博闻焦点|iPhone 底部有一黑色小横条,是不是看起来很不舒服,把它去掉
- V小T科技|一加8 Pro发售一个半月,120Hz屏幕成用户评价焦点,原因为何?
- 博闻焦点|十代酷睿+MX350,荣耀MagicBook Pro到底有多香?
- 博闻财经|刘强东、黄峥,为何争相投资这个“坐牢的人”?!
- 博闻焦点|首款国产高端“全自动胚胎冷冻存储系统”通过欧盟CE认证
- 博闻焦点|苹果首参与天猫618大促
- 博闻焦点|手机设备无法充电,溅水、进水后该怎么及时处理更适当
- 博闻焦点|宏碁暗影骑士·擎加装M.2固态图文经验分享
- 手机大魔王|不想为5G多花钱,红米10X的4G版哪些人买?