Appium 测试APK

介绍

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持iOS、Android及FirefoxOS平台测试。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。

特点:

  • 跨架构
  • 跨设备
  • 跨语言
  • 跨app
  • 不依赖源代码
  • 不限制测试框架和平台

实际应用(以Android平台为例)

1、安装jdk

我装的jdk1.8.0_20

2、安装Android studio,使用其中的sdk

3、sdk环境配置

1)在环境变量的系统变量中新建变量ANDROID_HOME,变量值就是adk对应的路径

2)点击编辑系统变量path,添加sdk的tools和platform-tools

3)点击确定,在cmd下运行adb devices

出现下面的就是正确了

如果只显示了list of devices attached 则需先在命令行输入adb connect 127.0.0.1:62001,再输入adb devices即可

4、安装模拟器(模仿Android的环境)

可以使用Android自带的模拟器,这里我使用的是夜神模拟器(相对较为流畅)

5、启动模拟器,出现桌面

6、安装Python

7、安装appium

8、安装Appium-client

注意:ip命令需要到python的scripts目录下用(因为pip.exe在那)

cmd下跳转到Python的script目录下,输入pip install appium-client,则自动安装

9、双击打开ANDROID_HOME/tools下的uiautomatorviewer.bat

出现以下界面

点击左上角第二个按钮,就可以显示模拟器中的界面

如果报错,一般是因为abd的问题,则再重复3、3)步骤则可以解决

这个应用是可以对apk中的元素进行定位,方便写Python脚本

Uiautomator具体的使用方法:

  • 先找index,再找text,若再找不到则尝试找resource-id,再不行则尝试找父类,再不行就只能通过坐标
  • 通过xpyth定位:

    findElementByXPath("//android.widget.TextView[10]") xpath下标从1开始,使用完整的classname
  • 通过id定位:findElementById("com.xwtec.zhy.xwlottery:id/grid_item_tv_red");
  • find_element_by_name(name对应uiautomator扫描后text的内容)
  • find_element_by_id(id对应resource-id)
  • find_element_by_class_name(class_name对应class)
  • find_element_by_accessibility_id(accessibility_id对应content-desc)
  • 定位到某个文本框,并输入内容:

    text = driver.find_element_by_id("com.changhong.smartalbum:id/passwd_edit") text.send_keys("123456")
  • 滑动屏幕:
    • 获取屏幕尺寸 width=self.driver.get_window_size()[‘width‘] height=self.driver.get_window_size()[‘height‘]
    • 滑动屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)
时间: 2024-10-09 03:30:03

Appium 测试APK的相关文章

appium 测试使用的API

appium 测试使用的API: 模拟操作类 driver.runAppInBackground(5); //将当前活跃的应用放在后台运行driver.hideKeyboard(); //隐藏键盘driver.lockDevice(); //锁屏driver.openNotifications(); //打开Android的下拉通知栏driver.isAppInstalled(“com.example.android.apis”) //判断应用是否安装driver.installApp(“pat

appium 测试微信公众号 切换webview

appium测试微信公众号的时候 切换webview报找不到contextdriver.context("WEBVIEW_com.tencent.mm:tools");io.appium.java_client.NoSuchContextException: No such context found. (WARNING: The server did not provide any stacktrace information)Command duration or timeout:

解决android SDK不能更新,appium测试混合app无法返回webview问题

问题:1.connection to the server is unsuccessful(file:///www/asset/index.html)(原因:android系统问题,需要更新)2.appium测试混合app,没有返回webview(原因:主要由于android版本问题,需要原生系统android4.4)3.android SDK不能更新package 4.android SDK中extra文件更新失败问题 解决:一.更新sdk,步骤如下:1.修改hosts文件打开c:/windo

【亲测】Appium测试Android混合应用时,第二次切换到WebView失败

要解决的问题:Appium测试Android混合应用时,第二次切换到WebView时失败 原因分析:在用Appium测试Android混合应用时,当程序第一次切换到WebView时,可以正常进行自动化测试.可是当程序第二次切换到WebView时,Appium会自动找到到第一次打开的Html页面,那么这时Appium就无法定位我们第二次打开的Html页面中的元素. Appium第一次切换到Html页面时,会新生成一个Chromedriver:当第二次切换到Html时,会使用已经存在的Chromed

MTK Android 计算器Calculator输入暗码!77!+,启动工厂测试apk

Android8.0 计算器Calculator输入暗码!77!+,启动工厂测试apk 路径: packages/apps/ExactCalculator/src/com/android/calculator2/Calculator.java /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License");

appium 测试时报apk一类的错误原因

一开始运行appium apk的时候经常会报apk找不到,或者看似apk打开了,但是一闪而过,然后还是报activity找不到的错误.一般有如下原因: 1.首先要查看一下在运行apk的时候第一个activity是什么,这个可以使用DDMS(Eclipse->window->OpenPerspective-DDMS)的logcat来查看 http://jingyan.baidu.com/article/9158e00068d1c2a255122865.html 2.有的时候有些activity不

Appium测试安卓Launcher以滑动窗体获得目标应用

所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面.其实这是一个很简单的例子,只是为了验证几点想法而已. 1.实验目的 做这个试验的目的有二 尝试下窗体滑动函数swipe的使用 好奇究竟能不能正常的对安卓的Launcher进行指定package和activity进行测试 2.实验背景 过程是打算使用appium来启动launcher,然后滑动窗口去获取在第三个桌面的sdk自带应用"Notes".如下图所示 3. 试验步骤 3.1 获得launche

【转】Appium测试安卓Launcher以滑动窗体获得目标应用

原文地址:http://blog.csdn.net/zhubaitian/article/details/39755553 所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面.其实这是一个很简单的例子,只是为了验证几点想法而已. 1.实验目的 做这个试验的目的有二 尝试下窗体滑动函数swipe的使用 好奇究竟能不能正常的对安卓的Launcher进行指定package和activity进行测试 2.实验背景 过程是打算使用appium来启动launcher,然

1Python运行Appium测试的例子

电脑系统配置:Windows7的64位 1.Python sample(Python示例)下载 https://github.com/appium/sample-code/tree/master/sample-code/examples/python 其中要求安装: pip install Appium-Python-Client pip install pytest 2.安装pip(在上面示例下载的时候,就可以安装了,同时操作节省时间) 下载Python,官网下载地址https://www.p