关于自动化测试,经常被问到元素的定位 与 如何设计用例。 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题。

不得不说之元素定位

  虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题。

  有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它;有时间元素的定位却非常的令人非常头疼,尽管我们用尽了所以办法,仍然无法定位到它。在这里笔者也没万能的方法来帮你解决这些实际问题。

      评估自动化可行性

  对于不同的web项目,所用到的前端技术也不同,有些项目会用到EXT(一个强在的js类库),有些会用到AJAX(一种创建交互式网页应用的网页开发技术),这些技术的应用无疑对于前端开发人员可以快速的生成所需要的页面,但对于UI自动化测试人员来说,增加了定位页面元素的难度。

  所以,在进行项目实现UI自动化评估的时候,页面元素的定位难度也是一个评估标准,如果处处都是很难定位的元素,那么无疑会增加脚本的开发与维护的成本,得不偿失。这个时候我可以考虑将更新多的精力放在单元或接口层的自动化上。

      提高技术能力

  对于自动化测试人员来说,如果熟悉前端技术也会大在降低你定位难度,熟练使用XPath和CSS技术会使你的定位变得容易很多,如果精通javascript、jquery 等技术,那么使你的定位之路变得更加随心所欲。

    规范前端开发

  在我们尝试实施的web项目中,大多数在设计初期,前端并没考虑到需要UI层的自动化,所以,有些前端开发人员以实现功能为目的,前端页面的代码相当不规范。这个也是自动化测试定位难的重要原因。如果开发人员在设计代码的时候规范的为元素加上id 和name属性的话,那我们的定们将会变得容易很多。

  很多测试人员在对项目进行学习和实施自动化测试的过程总是觉得困难重重,就是因为这些普遍的客观原因所造成的。一方面,我们要努力学好技术,克服这些困难。另一方面,我们要清楚的认识到,自动化技术的应用与实践不是一个人的战斗。一定要得到整个团队的配合与支持。

  当然,站在公司的立场,不能带来收益的事情是很难得到支持的,这个就需要读者去综合评估目前的产品真的适合引入自动化么?或者目前的阶段真的迫切需要自动化么?


不得不说之用例设计

  自动化测试用例如何设计,对于新手来说也是比较难理解的问题。

  不少新手刚刚掌握了写脚本的能力,一上来就拿着功能测试用例一条一条的转化成自动化用例。在写的过程中,会发现诸多问题,例如,脚本中重复代码很多,一个脚本的执行结果影响到另一个脚本的执行,有些功能用例很难转化成自动化用例等。

  站在用户角度设计自动化

  在功能测试的时候我们一般会遵循这个原因,但是自动化测试往往可以实现更强大的功能,所以,我们在设计脚本的时候很容易违背这个原则。例如,你要获得的数据是用户不可见的,你要判断用例是否成功的信息也是用户不可见的,或者你要模拟的是用户永远不可能做的操作等。

  设计简单傻瓜的用例

  自动化脚本本来是很傻瓜的。记得有同学问我,百度输入有个自动联想功能,就是在用户输入的过程中自动配置热门搜索的关键词,例如,用户输入“自”,会自动联想“自我评价”,“自行车”等。用继续输入“自动”,会自动联想“自动化”,“自动关机”,“自动档”等。他想定位自动联想下拉列表的某个关键词,这个关键词是百度根据用户搜索热度的变化而变化的。

  再比例有同学问我,下拉列表功能,我想脚本执行时随机选择某一个选项,那么如何如何去判断随机的结果呢?换句话说,你都不知道你做了什么,怎么去判断做的结果对不对?

  所以,我们在设计用例时尽量考虑简单傻瓜的用例,操作步骤简单,预期结果容易判断等。

  从简单开始

  对于新需要自动化的项目来说,自动化测试的实施是循序渐进的,不要一上来就设计几百条用例,而是逐步的将功能用例转成自动化用例,在转的过程中需要不断的调整测试结构。然后,再增加稳定的测试用例。然后,再调整测试结构。随着功能的增加你的自动化测试框架也在逐渐稳定,基础测试用例也在增加。一上来就几百条用例,需求的稍微变化,用例就可能大调整,那么你很可能每天疲惫于用例的维护。

  所以,在开始自动化的时候,你可以只对登录功能写个十来条的自动化用例。从而,渐渐的考虑将更多功能自动化起来。

  半自动化对于测试人员是个不错的开始,这样你可以将更多的精力花在安全测试,探索性测试,甚至是用例体验上等。不要觉得全职自动化就是多么高大上的职位。

转载于:https://www.cnblogs.com/fnng/p/3696925.html

不得不说--自动化测试元素定位与用例设计相关推荐

  1. python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析

    背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...

  2. 自动化无法定位的原因_Appium Android 自动化测试 -- 元素定位

    自动化测试元素定位是难点之一,编写脚本时会经常卡在元素定位这里,有时一个元素能捣鼓一天,到最后还是定位不到. Appium 定位方式和 selenium 一脉相承,selenium 中的定位方式App ...

  3. 自动化测试元素定位的8种方法:

    自动化测试元素定位的8种方法: 1.通过id属性定位: find_element_by_id() 复数形式: find_elements_by_id() 2.通过name属性定位: find_elem ...

  4. python+appium自动化测试元素定位

    关于app自动化测试,元素定位工具有三个: appium自带的Appium Inspector工具 Android ADT原生的工具 python版uiautomator2中的weditor 由于我常 ...

  5. 自动化测试元素定位“最佳实践”

    最近在翻阅cypress文档的时候发现一些关于自动化测试中元素定位的思考,觉得很有意思,这里跟大家分享一下. 核心概念 其实元素定义的核心概念很简单,一些元素总有自己独一无二的一些特点,比如我们每个人 ...

  6. Appium 自动化测试元素定位工具使用

    简介     前面环境基本都搭建好了,相关的知识也准备的差不多了,那么我们就开始下一步元素定位,元素定位首先需要知道使用哪些元素定位工具,本文讲解常见的元素定位工具uiautomatorviewer和 ...

  7. Selenium自动化测试-元素定位的八种方法,你知道的有几种?

    大家好 我就是那个人见人爱,花见花开的阿里大叔 今天继续selenium系列 实例示范 即学即用 学成之后 你就是整条gai最靓的仔 这次我们要分享的是对元素的定位,在一个页面中有很多不同的策略来定位 ...

  8. Appium自动化测试元素定位方式

    appium 定位元素  1.appium服务器工具定位 Start inspector Session 2.打开uiautomatorviewer.bat android-sdk-windows(S ...

  9. 自动化测试元素定位方式之find_elements_by_XXX()定位

    find_elements_by_XXX() 作用: 1.查找定位所有符合条件的元素 2.返回的定位元素格式为数组(列表)格式: 说明: 3.列表数据格式的读取需要指定下标(下标从0开始) 操作: 说 ...

最新文章

  1. Swift 数字字符串格式化
  2. python小细节之else
  3. 计算机活动感悟怎么写,计算机教学心得体会范文五篇.doc
  4. windows服务编写原理(上)
  5. python管理系统web版_【程序源代码】python web 管理系统开发框架
  6. gvim最简化设置,去掉工具栏和菜单栏
  7. 【和60】软件即服务的三重境界
  8. 小林求职记(三)一上来就围绕电商系统层层提问,我太难了....
  9. 内购订单进行二次处理_物流图表复杂业务场景下的订单管理系统搭建
  10. C语言:使用递归解决汉诺塔问题。
  11. 使用matlab生成含正弦波表数据ROM
  12. 电脑没有声音怎么安装声卡驱动?驱动人生声卡驱动安装失败原因
  13. nyoj素数环(dfs)
  14. echarts结合amap (echarts-extension-amap)
  15. UCASE() 函数
  16. 【CXY】JAVA基础 之 Collections
  17. Redis:字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令介绍
  18. outlook没有显示已连接到服务器上,Outlook无法连接到服务器怎么办?
  19. 利用JS实现短信验证码倒计时案例
  20. c语言高斯误差函数,erfc - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

热门文章

  1. 虚拟机随服务器启动,VMware Server中虚拟机随宿主机自动启动
  2. 云存储技术-JDK的安装
  3. android删除键监听,「React Native」Android返回键监听
  4. 服务器本地文件,云服务器 本地文件
  5. 计算机刚过国家线能调剂到哪些学校,2020考研:刚过国家线好不好调剂?这4个调剂策略!考生要知道...
  6. android 图片分析,Android图片处理实例分析
  7. 【JAVA基础篇】集合框架
  8. 架构师基础必备:“腹有诗书气自华”,驰骋一线大厂不是梦,抓紧收藏
  9. linux ntp时间立即同步命令_记一次生产环境部署NTP服务及配置时间同步
  10. 关于SQL2012里,出现“表中的数据受保护,不能修改”的情况的解决办法