UI自动化测试:会消失的弹窗(Toast)如何定位?

发表于:2023-9-05 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试安静    来源:51Testing软件测试网原创

  前言
  看到标题可能有的小伙伴们懵了,什么是toast,其实toast大家都见过,就是一般在我们页面中停留大概2~3秒的时间后,自动消失的弹框,那么既然要做自动化,可能toast也需要大家进行测试,那么小编今天就来介绍下如何定位页面上的toast
  Toast
  Toast 是一种简单的轻量级通知方式,它通常以短暂的形式出现在屏幕上,并在一段时间后自动消失。Toast 可以在应用程序中的任何部分使用,但不能与用户进行交互。
  如何定位
  既然是快速的2~3秒,那么我们如何进行定位其是否存在呢?首先小编先通过网上找了一段toast的代码,然后进行简单修改后,通过html格式进行打开:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title>Toast</title>

</head>

<center> 
<body>
    <button id="anjing" onclick="clickme();">点击有惊喜!</but-ton>  
</body>
</center>
<script>  

function showToast(msg,duration){  
    duration=isNaN(duration)?3000:duration;  
    var m = document.createElement('div');  
    m.innerHTML = msg;  
    m.style.cssText="width:60%; min-width:180px; background:#000; opacity:0.6; height:auto;min-height: 30px; color:#fff; line-height:30px; text-align:center; border-radius:4px; position:fixed; top:60%; left:20%; z-index:999999;";  
    document.body.appendChild(m);  
    setTimeout(function() {  
        var d = 0.5;  
        m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';  
        m.style.opacity = '0';  
        setTimeout(function() { document.body.removeChild(m) }, d * 1000);  
    }, duration);  
}  

function clickme(){
    showToast("祝您身体健康!",3000);
}
</script>   
</html>
  打开浏览器,接下来就是如何获取到toast的元素值,我们找到了元素值,就能进行定位了。打开F12进入到source页面中,先通过点击按钮,然后让其toast弹出,这个时候立刻点击暂停按钮,这时候页面就会静止不动,toast也不会进行消失,然后在通过正常的定位toast的元素位置就行了。
本文节选自第七十三期《51测试天地》
UI自动化中的toast如何定位》一文
想继续阅读全文或查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第七十三期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号