一、appium工具使用

一、appium简介

1、appium是开源的支持移动测试的自动化测试框架,官网是appium.io

2、appium支持的平台:Android、iOS、某些windows应用

3、测试时支持的移动APP的类型

  原生(native):实现技术(Android:java,iOS:objective-c)

  web(html5)

  混合(hybrid):既包含原生,也包含web

4、特点

  开源

  不限制客户端测试脚本的编程语言,支持Python、java、javascript、c/c++、ruby

  主要采用c/s架构:服务器(appium server实现技术node.js),客户端(这里使用java版本,在eclipse中进行开发和运行)

5、工作原理

  在eclipse中编写测试脚本并运行

  发送给appium服务器端进行处理

  由服务器控制被测试的移动端进行自动化操作

  appium客户端与服务器的通信的协议JSON wired protocol

二、测试环境

1、appium服务器:appium desktop

2、appium客户端

  eclipse:引入appium java-client包(java-client、selenium、commos-Apache开源项目,用于java原有类库的扩展)

  Android SDK:安卓开发工具包(platform-tools)、adb、配置环境变量ANDROID-HOME(android sdk的路径)

  JDK:配置环境变量JAVA-HOME(jdk的路径)

3、被测试的移动设备:模拟器或者真机

三、java语言知识点

  创建项目、创建包、创建类、成员属性、成员方法、创建类的对象、静态属性、静态方法、封装、重载、引入包和类、异常处理、泛型

四、创建测试脚本

1、流程

  创建java项目

  创建包

  创建java类

  引入appium包

  在java类中编写脚本(创建会话、测试操作、结束会话)

2、获取包名和界面(activity)名称

  直接adb shell dumpsys activity|find "Focused"

  先进入adb shell 再执行dumpsys activity|grep "Focused"

四、常用API

1、session

(1)截图

  getScreenshotAs();

(2)横竖屏

  getOrientation();

  driver.rotate(ScreenOrientation.LANDSCAPE);

  driver.rotate(ScreenOrientation.PORTRAIT);

(3)元素定位等待超时(隐式等待)

  driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

2、Devices

(1)不同app之间的切换

  driver.startActivity(new Activity("包名","类名"));

(2)物理按键

  driver.pressKey(new KeyEvent(AndroidKey.VOLUME_UP));

  driver.pressKey(new KeyEvent(AndroidKey.VOLUME_MUTE));

  driver.pressKey(new KeyEvent(AndroidKey.VOLUME_DOWN));

  driver.pressKey(new KeyEvent(AndroidKey.BACK));

  driver.pressKey(new KeyEvent(AndroidKey.HOME));

  driver.pressKey(new KeyEvent(AndroidKey.POWER));

(3)打开通知栏

  driver.openNotifications();

(4)获取手机当前时间

  System.out.println(driver.getDeviceTime());

3、element

(1)工具

  Android sdk下的uiautomator viewer

  appium服务器自带的inspector工具

(2)方法

  driver.findElement、driver.findElements

    by id

    by class name

    by accessibility id

    by xpath

(3)元素操作

  点击 .click()

  输入文本 .sendKey(“内容”)

  清除文本 .clear()

(4)获取元素属性

  获取元素的文本 .getText()

4、interaction

touch

(1)创建AndroidTouchAction对象

  AndroidTouchAction ta1 = new AndroidTouchAction(driver);

(2)点击坐标点

  ta1.tap(PointOption.point(110, 228));

(3)执行操作

  ta1.perform();

(4)长按

  ta1.longPress(PointOption.point(90, 320));

(5)滑动

  ta1.moveTo(PointOption.point(450, 320));

  ta1.moveTo(PointOption.point(90, 680));

  ta1.moveTo(PointOption.point(450, 680));

(6)释放

  ta1.release();

五、测试框架

自动化测试过程

  需求分析

  设计测试用例

  将测试用例转化成自动化测试脚本

  参数化(准备测试数据)

  检查点(断言)

  执行测试

  生成测试报告

原文地址:https://www.cnblogs.com/qianyyue/p/10925279.html

时间: 2024-10-08 04:53:38

一、appium工具使用的相关文章

APP自动化环境搭建之appium工具介绍(一)

1.下载解压android-sdk-windows-appium //配置环境: ANDROID_HOME:D:\android-sdk-windows-appium path:...;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools; //验证: C:\Users\Administrator>adb version Android Debug Bridge version 1.0.40 Version 4986621 Installed as

使用java语言通过appium工具测试ios应用一些问题总结

问题一 1.3.7版本好像有一个bug,就是需要替换这个文件(下载地址:http://download.csdn.net/detail/u011496891/8677069)进入到apium的安装目录下 修改 node_modules/appium/node_modules/node-idevice文件,否则就出现下面这个错误了.这个bug不知道什么时候修复.. org.openqa.selenium.SessionNotCreatedException: A new session could

app自动化的webView页面测试思路(appium工具)。

1.获取当前activity多有的handles,然后去遍历它,发现webView后切换到webView对应模式,就可以了.进一步操作webView的话用下面的方法(driver.getPageSource)获取webView对应的html代码(这一步很关键).之后就跟测试web页面一样了.

Appium+python移动自动化测试(四)--Monitor/uiautomatorviewer工具及元素定位方法

写在前面: 本文介绍识别元素的工具和元素的定位方法,识别元素的工具主要有uiautomator和monitor,以及Appium Inspector(Windows下小编在1.7.0之后版本可使用,1.4.16版本不行),本系列教程用的appium1.4.16本文,故暂不介绍Appium Inspector. 一.常用的识别元素的工具介绍 启动uiautomatorviewer.bat/monitor.bat.打开sdk/tools目录找到uiautomatorviewer.bat/monito

移动端自动化测试(一)之 Appium+Pyhton环境准备篇

由于工作的需要进行Andriod手机app自动化测试,公司现有支持的app的手机平台(Andriod和IOS), 所以选择了Appium工具.因为Andriod和IOS,Appium都支持.百度和谷歌上的各种Appium教程可谓是琳琅满目,但大抵都是浅尝辄止.因此笔者想要总结一套较全面的Appium的实战经验,以此记录我遇到的坑和填过的坑. web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API(selenium2)--->开发自动化测试项目. 移

Appium 走过的坑( Mac+java )--Android 篇

Apple的坑走完后,终于打开了界面,想想还是有点小激动的,然后进入了更坑的Android环境搭建. 如果你以为这环境就和Apple这样easy能解决(虽然不少坑 - -),那就大错特错,android环境等于另外一套东西,比Apple难弄多了,机制也很傻... 牢骚话少说,咱们来跨坑,第一个坑随即而来,之前我在说Apple环境时,下载安装完appium工具,Apple环境自动已经完善(前提是你已经安装完xcode).那么android环境应该怎么配置呢? 我就绕过我求寻真理的沼泽了,直接说怎么

Appium 自动化测试(3)--Appium框架与流程介绍

Appium介绍 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用.混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用.重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例.

appium 自动化测试踩过的坑

appium 常见问题 [appium v1.9.1]问题1:webview 版本号与chromedriver 版本不对应. WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '49.0.2623'. See https://gi

appium连接夜神浏览器,踩坑指南。

之前安装了最新版本的appium,怎么都配置不好,连接不成功,后来看了一个博主的帖子换成了“AppiumForWindows_1.4.16.1.zip”,配置环境变量后才成功,分享给踩坑的你,以及为下一次踩坑备份. 原帖请戳:1.https://www.cnblogs.com/fighter007/p/9224773.html    2.https://www.cnblogs.com/fighter007/p/9226730.html 下面截取我自己需要的一部分: 一.安装 appium 工具