
Appium自动化测试
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。
小小渔夫
我只是一粒灰尘,呼吸着神圣的气息,是你使我转向你。
展开
-
(十一)Appium自动化测试断言的实现
前言首先我们要思考的一点是,什么是断言?百度百科是这样描述的“断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证。”那么我们在做自动化测试的时候也需要用到断言,自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本,但是如果只是进行操作还不够,有时候还需要对预期结果进行判断。这时就要用到断...原创 2019-08-29 11:44:12 · 6504 阅读 · 0 评论 -
(十)Appium+Python自动化测试框架
前言前面几篇文章介绍了相关的技术实现,比如自动化登录、appium安装、错误重跑、生成报告等等。接下来我们看看如何搭建一个比较真、善、美的结构,实现特定的功能,每个模块分工明确,思路清晰。直接上图:模块介绍 Appium+Python 自动化结构主要包括 6 个部分。appPerf 结构下主要存放文件是 app 运行时的性能监控,包括内存,cpu,电量等。 common ...原创 2019-07-31 10:31:34 · 750 阅读 · 1 评论 -
(九)Appium自动化测试之实现错误重跑机制
背景当我们在使用appium进行自动化测试的时候,报告中必然会出现错误或失败。由于appium经常出现中断,这时我们就需要再次验证用例的正确性。打开项目,连上手机,再次对错误的脚本重新验证,很麻烦是不是?所以我们想,是否可以在运行过程中,出现错误的时候(毕竟appium经常由于识别不到元素而中断)重新运行一次。实现在之前的一篇文章传送地址,我们提到HTMLTestRunner是一个单元...原创 2019-07-30 18:02:48 · 1062 阅读 · 0 评论 -
(八)Appium安装及使用
前言在介绍appium的安装与使用之前,我们需要再次来回顾一下appium的特点,下面以总结的两个图为开始。安装及使用1、安装appium server 方法一:npm install -g appium •安装node.js,官方网站:https://nodejs.org/ •Windows命令提示符,npm命令回车,验证是否安装成功 ...原创 2019-05-20 17:06:15 · 1374 阅读 · 0 评论 -
(七)使用Appium进行UI自动化问题总结【持续更新】
前言在使用appium进行批量跑case或单个测试的时候经常出现许多问题,现作出一些总结与回应。问题1、Appium健壮性描述:由于现在appium并不是特别成熟,在运行case的时候经常会出现appium识别不了元素(元素实际存在)、appium运行一段时间后自动退出。建议:鉴于此原因,建议每次跑case的时候,重启appium。(有时甚至需要连续重启两次,第一次重启刚...原创 2019-04-30 17:17:31 · 1716 阅读 · 0 评论 -
(六)自动化测试介绍
前言目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多。自动化测试到底是啥?简单的说就是让被测试的软件自己运行起来,执行软件的功能。优点效率上:提高测试效率 成本上:降低测试成本 回归上:实现快速的回归测试,加快测试进度从而加快产品发布进度 可靠性:提高测试的可靠性,避免人为因素 覆盖率:更多的测...原创 2019-04-23 16:32:42 · 353 阅读 · 0 评论 -
(五)Appium+Python实现简单的自动化登录测试
前言要想让手机app自动登录,也就是让app自己操作。所以在脚本中我们需要对app控件进行操作,那么我们需要获取控件的信息。可以使用..\android-sdk-windows\tools目录下的uiautomatorviewer.bat来获取控件相关信息获取控件相关信息启动uiautomatorviewer.bat打开手机app,例如计算器,USB连接电脑,点击uiautom...原创 2019-01-10 16:57:45 · 8488 阅读 · 5 评论 -
(四)Appium使用HTMLTestRunner生成测试报告
介绍HTMLTestRunner是一个单元测试运行器,它是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告。在使用前我们首先需要下载HTMLTestRunner.py文件。传送门如何使用Windows平台:将下载的文件放入...\Python27\Lib 目录下。 Linux平台:需要先确定 python 的安装目录,打开终端,输入 p...原创 2019-01-10 14:01:38 · 931 阅读 · 0 评论 -
(三)Appium的DesiredCapabilities参数
前言这个参数是干嘛的,有啥子用,下面我们一一道来。首先Desired Capabilities 是由 keys 和 values 组成的 JSON 对象。它负责启动服务端时的参数设置,启动session的时候是必须提供的。它告诉appium server这样一些事情,比如:本次测试是启动浏览器还是启动移动设备? 是启动andorid还是启动ios? 启动android时,app的pac...原创 2019-01-04 18:17:18 · 1253 阅读 · 1 评论 -
(二)Appium常见元素定位方法
前言appium的核心其实就是一个web服务器,它提供了一套REST的接口。首先它收到客户端的连接、监控命令,之后在移动设备上执行这些命令,最后把执行结果放在HTTP响应中返回给客户端。基于上述原理,appium框架提供了一系列的API供调用。以下简单介绍常见的API大致分类控件定位根据Id定位find_element_by_id(self, id_) 通过元素的id定位...原创 2019-01-03 15:12:16 · 1695 阅读 · 0 评论 -
(一)Appium基础入门
Appium介绍Appium是一个自动化测试开源工具,支持IOS和Android平台上的移动原生应用、移动Web应用和混合应用。Appium是一个跨平台工具,它允许测试人员使用同样的接口、基于 不同的平台写自动化测试代码,大大增加了测试套件间代码的复用性。移动原生应用:是指那些用ios或android sdk写的应用 移动web应用:是指那些使用移动浏览器访问的应用,appium支持io...原创 2019-01-03 14:29:44 · 634 阅读 · 0 评论 -
Python单元测试框架—Unittest
介绍unittest原名为PyUnit,是由Java的JUnit衍生而来.它支持自动化测试,在测试中使用setup(初始化)和shutdown(关闭销毁)操作,组织测试用例为套件(批量运行),以及把测试和报告独立开来。为了实现这些,unittest以一种面向对象的方式产生了一些很重要的概念:test fixture:fixture表示tests运行前需要做的准备工作以及结束后的清理工作。比...原创 2019-06-24 15:32:56 · 479 阅读 · 0 评论