Web/app端自动化测试

做了一段时间的Android自动化测试,对比个人之前做的web端自动化测试,有一些感想。(由于个人接触的时间也不是太久,很多东西理解也并不深刻,先写下菜鸟时期的感想。)

区别

1. 启动差别

app端:在执行用例的时候,1部安卓手机同一时刻打开一个apk包,可以理解,因为比如你在做王者荣耀的测试,那么你的apk肯定只有1个在主屏幕显示,其他apk在后台继续运行,但是你无法对他们做操作。

web端:web端就不太一样了,在web端,我们可以通过Python多线程(或多进程)同时开启几个浏览器,让selenium对多个浏览器进行操作,同样100个测试用例,如果均匀分布在3个浏览器进行,那么测试效率会有所提高,而且只需要一台电脑就可以测试多种浏览器。

2. 安装检查

app端:这点感觉很像c/s架构软件,因为app是需要安装了才能使用的,所以软件是否安装异常,也是需要检查的一个点。

web端:不需要安装,在浏览器中输入url就可以测试。

3. 页面元素操作

app端:只会显示在手机页面里加载出来的部分,比方说有的页面比较长,需要向下滑动才能看到更多信息,此时需要保证不可见的元素显示在手机页面才能对它进行操作。

web端:不太一样,如果控件不是下拉产生的异步加载,那么我们是可以对屏幕内不可见的元素做操作的。因为虽然页面上没有加载出来,但是html页面实际上已经有了。如果遇到需要下拉才能加载的页面,可以用js操作滚动条。

4. 元素定位

app端:基本操作和web端差不多,不过部分定位方式不支持,比如css_selector和link_text,使用的时候会提示方法还没实现,也多出了accessible_id这种新的定位方式,不过目前我还没有用到,以后再补充。

web端:基础的就name,id,class_name,css,xpath这几种了。

5. 启动

app端:需要制定desired_caps内容,因为里面包含了设备信息等。

web端:通过启动webdriver不同的浏览器类,获取driver,如webdriver.Chrome(),也可以模拟手机端加载wap页面做wap页面的测试。

6. 关于元素的属性

app端:查找到元素以后,查看元素对象,发现里边基本上只有元素的text属性,也没有相关的方法修改,这个区别还是很大的。不过appium有set_text和set_value的方法,目前还没有尝试,用的还是send_keys()。

web端:web端简直就是天堂了,比起修改,读取元素属性。比如我要获取input标签的name,我可以用get_attribute方法,也可以自行写js代码改变这些属性。

7. 使用js

app端:似乎是支持了,但是执行任何命令server端都会提示404的错误。

web端:支持非常好,因为本身js就是负责网页交互的,所以会很方便。

8. 关于滑动

app端:关于滑动是会用得很多的,比如页面很长,或者打开通知栏,这种需要在屏幕上滑动的,用到的还比较多。

web端:用到的比较少,之前基本上没有用到过。

9. 异常

app端:需要注意的是其他apk给你带来的影响,目前没有找到很好的方式去处理这些问题,因为其他apk给你做了弹窗,比如qq异地登陆,或者短信这种推送,会影响到目前的流程。办法肯定是有解决的,我个人理解,可以在出错之后比对一下是否在当前apk,如果不在的话则进入当前apk再做一次相关操作。

web端:很少被影响,可以边跑用例边聊qq,当然我只是举个例子,总之个人体会就是影响比较小,因为浏览器的driver完全只是控制浏览器,别的地方和它无关。


其他内容的话有待大家补充啦~暂时只想到这些。

转载于:https://www.cnblogs.com/we8fans/p/7296217.html

Web/app端自动化测试对比相关推荐

  1. Web端与App端自动化测试框架

    Web端与App端自动化测试框架 一.Web端与App端的区别 想了解Web端与App端自动化测试框架的区别 ,那么我们就要先来了解Web和App的区别.Web项目一般都是B/S架构,基于浏览器的,而 ...

  2. 一整套的软件测试学习视频、包括web自动化、APP自动化、接口自动化,以及python语言,基础知识讲解和项目实践,学习后可收获python、web/APP/接口自动化测试。

    买的自动化测试学习视频,学完后对自动化测试能力提升了不少,觉得老师讲的很不错,分享给有需要学习的人学习 一.web自动化 百度网盘链接:https://pan.baidu.com/s/1e2fctYu ...

  3. Python+Appium+POM实现APP端自动化测试

    1.POM及POM设计原理 POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之 一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一 ...

  4. 【AMAD】splinter -- 用于测试web app的python框架

    简介 动机 作用 用法 热度分析 个人评分 简介 Splinter1是一个开源工具,使用Python编写,用于测试web apps.它可以用来对浏览器实现自动化操作,比如访问URLs,和按钮等交互. ...

  5. selenium+Edge浏览器实现web端自动化测试

    selenium+Edge浏览器的自动化测试 1. 概述 2. selenium自动化原理 (1)selenium3 (2)安装方式 3. 实战案例体验selenium自动化 4. 关于seleniu ...

  6. LsLoader——通用移动端Web App离线化方案

    由于JavaScript(以下简称JS)语言的特性,前端作用域拆分一直是前端开发中的首要关卡.从简单的全局变量分配,到RequireJS实现的AMD模块方式,browserify/webpack实现的 ...

  7. 【饿了么】—— Vue2.0高仿饿了么核心模块移动端Web App项目爬坑(一)

    [饿了么]-- Vue2.0高仿饿了么核心模块&移动端Web App项目爬坑(一) 前言:学习Vue.js高仿饿了么课程过程中,总结了这个Web App项目从准备到开发完毕自己觉得很重要的知识 ...

  8. Vue2.0高仿饿了么核心模块移动端Web App项目爬坑(一)

    原文https://www.cnblogs.com/ljq66/p/9980372.html 前言:学习Vue.js高仿饿了么课程过程中,总结了这个Web App项目从准备到开发完毕自己觉得很重要的知 ...

  9. 【Jmeter篇】你有Fiddler、Charles抓包,我有Jmeter录制Web和App端

    一.录制web端设置 1.启动jmeter,测试计划-添加-非测试元件-HTTP代理服务器 2.HTTP代理服务器设置,并启动 端口设置为8888,目标控制器选 测试计划>HTTP代理服务器,点 ...

最新文章

  1. 性能优化技巧 - 组表数据更新
  2. jQuery源码 Ajax模块分析
  3. 计算机网络聚合怎么设置,交换机的端口聚合如何配置
  4. 华硕z170a如何开启m2_给Z170A 加个M.2 SSD,速度有点意思
  5. JavaScript:模块化及模块化规范
  6. 生活中的七个语音识别经典应用
  7. 编译OpenJDK8:NMAKE : fatal error U1077
  8. AI快捷键大全 2020
  9. 《考试脑科学》读后感
  10. 机甲 java_战神金刚3(机甲版)
  11. ipa包上传itunes store失败
  12. YTU_3313: Barnicle(模拟)
  13. 微信域名防红是怎么做出来的,原理是什么?_域名微信防封
  14. 解决VirtualBox安装Ubuntu时界面显示不全问题
  15. HTML5 新的Input类型
  16. POJ1502 信息传递(单源最短路径)
  17. vulnhub--Thoth Tech: 1
  18. 基于JSP的网上书城
  19. Python实践4-守护线程
  20. 捷信总经理Ondrej:愿为中欧企业间的长远发展与互惠共赢而努力

热门文章

  1. 反向非归零编码_【基础】什么是编码器?
  2. 点到直线的投影公式_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...
  3. vue打包后element-icon不显示问题解决
  4. 关键词为什么迟迟不上首页?太令人“捉急”了!
  5. 企业网络推广专员浅析如何完善网站维护企业网络推广吸引用户浏览
  6. 手机网站优化重点来了!快记下
  7. 浅析企业网站软文效果是如何展现的?
  8. 网站优化有几个优化因素值得引起注意
  9. java cmd copy_使用Java中的cmd复制文件的问题
  10. 东芝2505扫描软件_东芝P300机械硬盘上膛体验:内存大了,小姐姐再也不愁无处安放了...