• 7
  • 6
分享
  • 带劲!3个常见的自动化软件测试面试题深度剖析!
  • 北极 2020-11-24 10:04:29 字数 1562 阅读 2212 收藏 6

Appium UI 自动化中显式等待和隐式等待的异同?在实际项目中是如何应用的?

  1. 相同点都是智能等待,在一定时间范围内不断查找元素,一旦找到立刻结束查找继续执行代码,没找到才会一直找到超时为止

  2. 不同点是隐式等待是全局性设置,并且可以随时更改,在更改后对之后的 findxxx 方法生效,对点击、输入、滑动之类的操作不起作用;显式等待仅仅针对单一元素生效,并且不仅仅是针对查找,也可以针对元素的某些属性进行自定义判断;很可能下一个问题就是你在测试过程中常用哪种等待?三种都有,相互结合根据各自不同特点应用不同的场景。

  3. 大部分元素出现的时间可以用隐式等待统一设置

  4. 特性元素出现时间较长,可以用显式等待针对他进行超时设置

  5. 当操作类型必须等待一段时间才能完成时,使用 sleep,比如有数据推送的界面

  6. 如果因为间隔较小导致操作失败,必须加 sleep,比如滑动、返回

selenium 处理页面下拉选择框

1、 标准下拉框(Select 标签 option 选项)(如下图)

      针对标准下拉框,selenium 提供了处理方法,代码如下:

Select sel =new Select(driver.findElement(By.id(“areaID”))); //定义 select 方法
sel.selectByIndex(1); //根据选项的索引定位
sel.selectByValue(“tianjin”); //根据选项的 value 值定位
sel.selectByVisibleText(“陕西省”); //根据选项的 text 文本值定位

2、 非标准下拉框

       处理方法:模拟手工测试时的思路,先点击一次使下拉列表展开,在点击下拉选项

       代码如下

       第一步:

driver.findElement(By.cssSelector("#divselect>cite")).click(); //定位方法仅供参考

       第二步:

driver.findElement(By.linkText(“下拉 select 效果”)).click(); //注意,点击下拉选项前建议增

       加 1 秒 sleep

安卓和 ios 的 app 测试有什么区别?

  1. 多分辨率测试,Android 端很多种,ios 较少;

  2. 手机操作系统,Android 较多,ios 较少且不能降级,只能单向升级;新的 ios 系统中的资源库不能完全兼容低版本中的 ios 系统中的应用,低版本 ios 系统中的应用调用了新的资源

  3. 库,会直接导致闪退(Crash);

  4. 操作习惯:Android,Back 键是否被重写,测试点击 Back 键后的反馈是否正确;应用数据从内存移动到 SD 卡后能否正常运行等;

  5. push 测试:Android:点击 home 键,程序后台运行时,此时接收到 push,点击后唤醒应用,此时是否可以正确跳转;ios,点击 home 键关闭程序和屏幕锁屏的情况(红点的显示);android 特性测试(横竖屏,home 键,音量键,power 键等)等测试。

  6. 安装卸载测试:Android 的下载和安装的平台和工具和渠道比较多,ios 主要有 app store,iTunes 等等下载;

  7. 升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于 Android 若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法);ios 是不允许内置检查升级的


作者:软件测试开发-虚竹

原文链接:https://blog.csdn.net/shuaigezhou10086/article/details/109607195#comments_13859130

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?UI与接口测试的协同可以从下面的方向考虑:UI的操作实际上就是用另一种方式调用接口,那么接口有多少种参数组合就要求UI用例要构造多少种操作进行调用;UI操作所需要的数据可以用接口来生成;接口测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界面展示的逻辑正确性;UI测试需要重视接口调用不成功或者接口异常情况下UI的呈现方式和用户体验;UI中可能会有一些状态的缓存信息(这样就不需要每次频繁调用接口去获取了),比如鉴权信息等,需要重点关注这些缓存的更新策略。2、接口测试中上下游接口有数据依赖如何处理?上下游接口的数据依赖无非就是准备...
            15 16 1594
            分享
          • 简介在业务运维场景中,需要对核心的API接口进行拨测。而各个接口需要传递的参数或者接口之间的依赖是比较复杂的,通常接口之间都是通过链式请求来完成一个业务场景。常见的就是先登录,拿到token以后,再进行后续的API请求。postman提供了基于GUI的方式完成这种场景适配,但是对于运维来讲,需要定时的基于策略的形式来对API进行监控。本篇文章就带你从0-1打造API监控体系。知识储备1. Postman使用方法2. Docker基础知识部署步骤1. 从postman导出collection以下文件以拨测httpbin.org为例,在Postman的GUI工具中导出拨测的json文件(httpb...
            0 0 4197
            分享
          •     基于自身多年测试工作经验,发现不学门编程语言,很难在当前互联网行业混下去,之前也在网上看了不少python相关知识,对基本概念等也都有了解,当前阶段处于 能写和看懂简单程序,但复杂点程序看不懂也写不出来,经过一段时间的纠结,必须逼自己学起来,以让自己能安稳度过IT行业的中年危机,有技术在身,不慌。学习目标:能使用python语言完成接口自动化测试;学习时间:2021年12月 1月 2月 3月,共4个月学习目录1.了解Python是什么,都能做些什么?2.知道什么是变量、算法、解释器3.Python基本数据类型4.列表和元组的操作方法5.字符串操作...
            0 0 1013
            分享
          • 1、什么是POM,为什么要使用它?POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,所以自然而然就用了类的思想来组织我们的页面。一般一个页面写一个类文件,这个类文件包含该页面的元素定位和业务操作方法。为了我们测试用例写的简单,清晰,我们很多时候在页面对象会封装很多业务操作方法,测试脚本只需要调用相关方法就可以。2、如果页面元素经常发生需求变化,你是如何做?采用POM思想。好处就是只要改一个页面,我就去修改这个页面对象的元素定位和相关方法,脚本不需要修改。3 在你做自动...
            13 12 1637
            分享
      • 51testing软件测试圈微信