• 期刊首页
  • 期刊导读
  • 期刊介绍
  • 投稿指南
  • 邮箱投稿
  • 在线投稿
  • 联系我们

栏目导航

期刊导读
期刊介绍
投稿指南
邮箱投稿
在线投稿
联系我们

综合新闻

  • 村史续怎写(机器人文献综述怎么写)
  • 工矿自动化论文前言(工业自动化论文题目)
  • 学供应电走单招陕西有哪些学校
  • 烟台港开港160周年系列报道④:智慧升级
  • 远程教育电气工程及其自动化专业介绍

通知公告

  • 工矿自动化版面费是多少
  • 《工矿自动化》投稿方式
  • 《工矿自动化》期刊栏目设置

您现在所在位置:主页 > 综合新闻 >

软件测试 | APP测试——Appium 自动化测试框架的初

来源:工矿自动化 【在线投稿】 栏目:综合新闻 时间:2021年10月29日 08:14:11
【作 者】:网站采编
【关键词】:
【摘 要】:嘿。大家好,我是测试猿4U: 随着移动终端的普及,手机应用越来越多,也越来越重要。而作为测试袁的我们也要与时俱进,努力学习手机App的相关测试,本章将介绍手机自动化测试框

嘿。大家好,我是测试猿4U:

随着移动终端的普及,手机应用越来越多,也越来越重要。而作为测试袁的我们也要与时俱进,努力学习手机App的相关测试,本章将介绍手机自动化测试框架Appium。那究竟什么是 Appium呢? 接下来我们一起来学习Python+Selenium做自动化测试。

Appium 概述

Appium 基本概念

好了废话不多说,开始每日课程吧!

学测试,领资料,寻知音,经验交流,关注领取

一、Appium 概述

(1) 什么是 Appium:

  • appium 是开源的移动端自动化测试框架;
  • appium 可以测试原生的、混合的、以及移动端的 web 项目;
  • appium 可以测试 ios,android 应用(当然了,还有 firefox os);
  • appium 是跨平台的,可以用在 osx,windows 以及 linux 桌面系统上。

(2) Appium 的哲学:

  • 不需要为了自动化而且重新编译或修改测试 app;
  • 不应该让移动端自动化测试限定在某种语言和某个具体的框架;也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试;
  • 不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的 api; 也就是说 webdriver 协议里的 api 已经够好了,拿来改进一下就可以了;
  • 移动端自动化测试应该是开源的。

(3) Appium 设计思想:

  • 首先,为了能够实现哲学里描述的第 2 条,也就是不应该让移动端自动化测试限定在某种语言和某个具体的框架;也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试; appium 选择了client-server 的设计模式。只要 client 能够发送 http 请求给 server,那么的话 client 用什么语言来实现都是可以的,这就是 appium 及 webdriver 如何做到支持多语言的;
  • 其次,为了能够实现不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的 api;也就是说 webdriver 协议里的 api 已经够好了,拿来改进一下就可以了;这个思想,appium 扩展了 webdriver 的协议,没有自己重新去实现一套。这样的好处是以前的 webdriver api 能够直接被继承过来, 以前的 webdriver 各种语言的 binding 都可以拿来就用,省去了为每种语言开发一个 client 的工作量;
  • 最后 appium 当然是开源的,这也实现了哲学思想里的最后一点。

(4) Appium 优点:

  • 支持语言:java ,python,node.js,c#,php,perl,ruby;
  • 支持 android 和 ios;
  • 支持跨应用。

(5) Appium 特点:

  • 跨架构,native hybrid webview
  • 跨设备,android ios firefoxos
  • 跨语言,java python ruby nodejs php
  • 跨 app, 可以在多个 app 之间交互
  • 不依赖源代码
  • 不限制测试框架和平台

(6) Appium 架构:

  • Android 上使用了 instrumentation 和 uiautomator 两套技术
  • Appium 在 4.1 以上使用 uiautomator
  • 4.1 以下使用 selendroid
  • iOS 使用 uiautomation
  • 支持 firefox

Appium 在 IOS 上的架构:

Appium 在 IOS 上的架构:

Appium 在 Andiord 上的架构:

Appium 在 Andiord 上的架构:

二、Appium 基本概念

(1) Client/Server Architecture:

appium 的核心其实是一个暴露了一系列 REST API 的 server。这个 server 的功能其实很简单:监听一个端口,然后接收由 client 发送来的 command。翻译这些 command,把这些 command 转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些 command 后把执行结果返回给 appium server,appium server 再把执行结果返回给 client。

在这里 client 其实就是发起 command 的设备,一般来说就是我们代码执行的机器,执行 appium 测试代码的机器。狭义点理解,可以把 client 理解成是代码,这些代码可以是 java/ruby/python/js 的,只要它实现了 webdriver 标准协议就可以。

这样的设计思想带来了一些好处:

  • 可以带来多语言的支持;
  • 可以把 server 放在任意机器上,哪怕是云服务器都可以;(是的,appium 和 webdriver 天生适合云测试)。

    文章来源:《工矿自动化》 网址: http://www.gkzdhzz.cn/zonghexinwen/2021/1029/1093.html

  • 1
  • 2
  • 下一页
  • 上一篇:自动化系统选择分割器厂家的六大要素
    下一篇:华科团队拿下EDA(电子设计自动化)全球冠军,

    工矿自动化投稿 | 工矿自动化编辑部| 工矿自动化版面费 | 工矿自动化论文发表 | 工矿自动化最新目录
    Copyright © 2021 《工矿自动化》杂志社 版权所有 Power by DedeCms
    投稿电话: 投稿邮箱: