返回顶部
首页 > 资讯 > 精选 >Appium框架的知识点有哪些
  • 119
分享到

Appium框架的知识点有哪些

2023-06-05 01:06:34 119人浏览 薄情痞子
摘要

本篇内容主要讲解“Appium框架的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Appium框架的知识点有哪些”吧!测试对象Appium是一个开源工具,用于自动化iOS、Andro

本篇内容主要讲解“Appium框架的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Appium框架的知识点有哪些”吧!

测试对象

Appium是一个开源工具,用于自动化iOSAndroid设备和windows桌面平台上的原生、移动WEB和混合应用。

"原生应用"指那些用ioS、Android或者WindowsSDK编写的应用。

"移动web应用"是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器)。

"混合应用"带有一个"webview"的包装器——用来和Web内容交互的原生控件。

重要的是:Appium是跨平台的:它允许你用同样的api对多平台写测试,做到在iOS、Android和Windows测试套件之间复用代码。

支持平台及语言

● appium是跨平台的,支持OSX,Windows以及linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性

● appium支持多语言,采用C/S设计模式,只要满足client能够发送Http请求给server即可

工作原理

APPIUM IOS端工作原理

下面我们通过一张图来看下IOS端APPIUM全过程工作原理:

Appium框架的知识点有哪些

APPIUM Android端工作原理

下面我们通过一张图来看下android端APPIUM全过程工作原理:

Appium框架的知识点有哪些

解释:

整个箭头指向为一个完成的指令循环

webdriver script需要自动化测试人员自己编写对应的测试脚本

建议大家去了解下JSON wire protocol、instruments、UiAutomator

安装工具

● 测试语言,如python

● appium客户端

● appium服务端

● 移动设备,若使用虚拟机则需进行安装

环境搭建

(一)安装Android SDK

Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序,可以看做用于开发和运行Android应用的一个软件

提供小工具,比如adb、aapt、uiautomatorview

测试设备使用安卓模拟器,这一步决不能跳过

(二)安装 appium Server

appium官网:https://pium.app/downloads/

下载appium安装包(AppiumForWindows.zip,appium.dmg)

安装,并配置appium环境变量

(三)安装 Python-client

先安装编程语言,比如python语言

安装Appium-Client,python的话可使用pip安装:pip install Appium-Python-Client

应用及操作

①调用appium过程

配置手机设备参数,告诉server端我想调起的是哪一台手机设备

抓取手机上应用的控件,指定对应的控件来进行操作

对抓取到的控件进行操作,比如点击、填写参数等

第一步,配置手机设备参数

Appium 的 Desired Capabilities 基本配置如下:

#Android environment

import unittest

from appium import webdriver

desired_caps = {}

desired_caps['platfORMName'] = 'Android'

desired_caps['platformVersion'] = '4.2'

desired_caps['deviceName'] = 'Android Emulator'

desired_caps['app'] = PATH('../../../apps/selendroid-test-app.apk')

desired_caps['appPackage'] = package

desired_caps['appActivity'] = activity

self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

常见参数解释:

● deviceName:指定启动设备,比如Android Emulator、iPhone Simulator等

● automationName:指定自动化引擎,默认appium

● platformName:指定移动平台,Android或者iOS

● platformVersion:指定平台的系统版本。例如指定Android系统版本为4.2

● appActivity:待测试app的Activity,注意,原生app的话要在activity前加个"."

● appPackage:待测试app的包名(package)信息

第二步,抓取手机上应用的控件

通过Android SDK内置工具uiautomatorviewer.bat来查看手机应用的控件参数(该工具位于 /tools/bin/ 目录下)

id定位

Appium框架的知识点有哪些

使用方法:

driver.find_element_by_id('com.android.contacts:id/three')

name定位

Appium框架的知识点有哪些

使用方法:

el = self.driver.find_element_by_name('未接来电') el = self.driver.find_elements_by_name('未接来电')

class name 定位

Appium框架的知识点有哪些

使用方法:

els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')

Accessibility ID定位

Appium框架的知识点有哪些

使用方法:

el = self.driver.find_element_by_accessibility_id('三') el = self.driver.find_elements_by_accessibility_id('三')

android uiautomator定位

Appium框架的知识点有哪些

使用方法:

el=self.driver.find_element_by_android_uiautomator('new UiSelector().description(星形符号")')

els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(false)')

第三步,操作控件

scroll

scroll(self, origin_el, destination_el):

从元素origin_el滚动至元素destination_el

举例:driver.scroll(el1, el2)

用法:driver.scroll(el1,el2)

tap

tap(self, positions, duration=None):

模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)

举例:driver.tap([(100, 20), (100, 60), (100, 100)], 500)

用法:driver.tap([(x,y),(x1,y1)],500)

swipe

swipe(self, start_x, start_y, end_x, end_y, duration=None):

从A点滑动至B点,滑动时间为毫秒

举例:driver.swipe(100, 100, 100, 400)

用法:driver.swipe(x1,y1,x2,y2,500)

keyevent

keyevent(self, keycode, metastate=None):

发送按键码(安卓仅有),按键码可以上网址中找到

用法:driver.keyevent('4')

press_keycode

press_keycode(self, keycode, metastate=None):

发送按键码(安卓仅有),按键码可以上网址中找到

用法:driver.press_ keycode('4')

text

text(self):

返回元素的文本值

用法:element.text

click

click(self):

点击元素

用法:element.click()

get_attribute

get_attribute(self, name):

获取某元素的相关值

用法:element.get_attribute("name")

size

size(self):

获取元素的大小(高和宽)

用法 driver.element.size

page_source

page_source(self):

获取当前页面的源

用法:driver.page_source

quit

quit(self):

退出脚本运行并关闭每个相关的窗口连接

举例:driver.quit()

执行结果判断

在用例执行完毕,需要判断是否通过时,需要和你预期的结果进行对比,一般可以选择断言查找某个标志位是否出现,或者某个元素的text值是否和预期相等,还可以截图后跟参照图片做对比等等。

到此,相信大家对“Appium框架的知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Appium框架的知识点有哪些

本文链接: https://lsjlt.com/news/240652.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Appium框架的知识点有哪些
    本篇内容主要讲解“Appium框架的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Appium框架的知识点有哪些”吧!测试对象Appium是一个开源工具,用于自动化iOS、Andro...
    99+
    2023-06-05
  • Spring JDBC框架的知识点有哪些
    这篇文章主要介绍“Spring JDBC框架的知识点有哪些”,在日常操作中,相信很多人在Spring JDBC框架的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring&...
    99+
    2023-06-22
  • Python的Scrapy框架知识点有哪些
    这篇文章主要讲解了“Python的Scrapy框架知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的Scrapy框架知识点有哪些”吧!一.为什么使用Scrapy框架Sc...
    99+
    2023-06-22
  • Java集合框架的知识点有哪些
    本篇内容介绍了“Java集合框架的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合框架(collections framewo...
    99+
    2023-06-17
  • python框架中flask的知识点有哪些
    小编给大家分享一下python框架中flask的知识点有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、Flask蓝图目录我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就...
    99+
    2023-06-15
  • div+css入门框架架构的知识点有哪些
    本篇内容主要讲解“div+css入门框架架构的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“div+css入门框架架构的知识点有哪些”吧! css...
    99+
    2024-04-02
  • Reactive架构的知识点有哪些
    这篇文章主要介绍了Reactive架构的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Reactive架构的知识点有哪些文章都会有所收获,下面我们一起来看看吧。Reactive 和 Reactive...
    99+
    2023-06-05
  • 框架面试必备:ASP path 的知识点有哪些?
    ASP.NET是一种使用Microsoft .NET Framework来构建Web应用程序的技术。在ASP.NET中,ASP path是一种非常重要的概念,它用于指定Web应用程序中的文件和目录的位置。在这篇文章中,我们将介绍ASP pa...
    99+
    2023-11-04
    path 面试 框架
  • MySQL架构体系知识点有哪些
    这篇文章主要介绍了MySQL架构体系知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一  数据库和数据库实例在MySQL...
    99+
    2024-04-02
  • CSS3边框模块知识点有哪些
    这篇文章主要介绍“CSS3边框模块知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3边框模块知识点有哪些”文章能帮助大家解决问题。   ...
    99+
    2024-04-02
  • MySQL的知识点有哪些
    本篇内容主要讲解“MySQL的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的知识点有哪些”吧! 1.在Ce...
    99+
    2024-04-02
  • Elasticsearch的知识点有哪些
    本篇内容主要讲解“Elasticsearch的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Elasticsearch的知识点有哪些”吧!本篇主要内...
    99+
    2024-04-02
  • Css的知识点有哪些
    这篇文章主要为大家展示了“ Css的知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ Css的知识点有哪些”这篇文章吧。块元素、内联元素,是一个元素,...
    99+
    2024-04-02
  • HTML5的知识点有哪些
    这篇文章主要讲解了“HTML5的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5的知识点有哪些”吧!1 :基于HTML5的移动Web应用Canvas绘图:通过获取HTML...
    99+
    2023-06-17
  • JavaScript8的知识点有哪些
    这篇文章主要介绍“JavaScript8的知识点有哪些”,在日常操作中,相信很多人在JavaScript8的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript8的知识点有哪些”的疑...
    99+
    2023-06-27
  • ECharts的知识点有哪些
    本文小编为大家详细介绍“ECharts的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“ECharts的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。简介ECharts(Enterpris...
    99+
    2023-06-27
  • yolov5的知识点有哪些
    这篇文章主要讲解了“yolov5的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“yolov5的知识点有哪些”吧!一、yolo中txt文件的说明:二、yolo跑视频、图片文件的格式...
    99+
    2023-07-02
  • Vue的知识点有哪些
    本篇内容介绍了“Vue的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.官方介绍Vue (读音 /vjuː/,类似于 view...
    99+
    2023-06-03
  • React的知识点有哪些
    这篇文章主要介绍了React的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇React的知识点有哪些文章都会有所收获,下面我们一起来看看吧。  组件的数据挂载方式,属性(props)props是正常...
    99+
    2023-06-03
  • SwiftUI的知识点有哪些
    这篇文章主要讲解了“SwiftUI的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SwiftUI的知识点有哪些”吧!一、背景苹果于2019年度WWDC全球开发者大会上,发布了基于...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作