我的UI自动化总结之失败用例跟踪

发表于:2013-3-29 11:09

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

 作者:雅婷Tracy    来源:51Testing软件测试网采编

  2、click和hover连串动作时,会有影响

  (1)用例失败情况综述

  首页推荐日志,测试逻辑是:点击推荐按钮,推荐字样变成已推荐,且hover上去字样变成取消推荐。用例在运行的过程中,点击推荐后再去hover已推荐,字样不发生变化,即不会变成取消推荐,导致用例失败。

  (2)失败用例原因分析

  根据跟踪用例运行现场,发现click和hover连续操作,两者之间有影响,即click后并没有释放鼠标焦点,即其实用例已经执行的hover动作,但是由于前面的click没有释放鼠标焦点,hover上去看到的还是已推荐,不会发生字样的变化。

  (3)解决方案。click后释放鼠标焦点再去hover,最简单的方法,click后刷新页面。

  3、存在不一定可见

  (1)页面上明明存在的元素,报错:页面上不存在此元素

  (2)失败用例原因分析

  当Xpath可以匹配到多个页面元素的时候,Selenium默认是抓取第一个的。代码中的xpath String sLikeButtonXpath = "//div[@id='main']//a[@title='喜欢']";不具有唯一性,定位到的是页面上所有匹配这个xpath的喜欢元素,其实取到的还是第一篇日志的“喜欢”元素,而这个喜欢元素在 html代码中被隐藏了,如下:

  所以执行我们用例中的函数:be.expectElementExistOrNot(true, sUnLikeButtonXpath, 5000);的时候,当运行到

new Wait() {
                    public boolean until() {
//                        return Browser.isVisible(XPath);
                        return browserCore.findElementByXPath(xPath).isDisplayed();
                   
                }.wait("*** 判断页面上是否可见指定元素 ***", timeout);

  的时候,当然就会报错啦。

  (3)解决方案:准备一个干净的测试账号或者是在BeforeClass里面做数据准备,先发一篇文章再去喜欢。

  4、诡异情况

  在lofter的时候,遇到过这么一种情况,有个别用例在白天一直运行通过,晚上每天failed,查了好久,也不是功能上的bug,也非用例本身的原因,那就可能是环境的问题了,果然,在每天晚上重启服务器后,用例运行ok了,如果童鞋们以后也遇到过这种无论如何都找不到失败原因的用例,可以从环境着手哦。。。

  好了,就啰嗦这么多吧,学习这半年,感觉WebUI自动化真是千变万化,但是只要我们逻辑缜密,用例健壮,这些失败用例神马的都是浮云,如果童鞋们有好的经验,欢迎补充。。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号