方法一:直接打开Appium,点击左上角机器人图标 选择apk所在位置,如图所示,这里以ContactManager.apk为例 方法二:利用dex2jar和jd-gui这两个工具反编译apk文件 这里仍以ContactManager.apk为例 (1)重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex: (2)解压dex2jar-2.0.zip,并从命令行进入该文件夹: (3)运行命令 在当前文件夹(F:\android_pro…
appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的.那如何快速的获取这APP的这两个参数呢?我这里介绍两个方法. import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import io.appium.java_client.and…
基本概念: appPackage:简单来说是App开发者提供的名称. appActivity:简单来说是App提供的各种不同的功能.每个程序都有个MainActivity,就是打开程序时显示在屏幕的活动. 准备工作: 在我们获取appPackage和appActivity之前,有一些准备工作. 下载并安装androd sdk 设置 andorid Envirment Variables 方案1: 手机解锁,用usb连接手机,或者打开android emulator. 启动命令行,运行  ‘adb…
如何获取appPackage和appActivity的信息,这里有一个极为实用的命令:adb shell dumpsys activity |find "mFocusedActivity"这个命令很有可能对于Android8.0不适用,别慌,还有一个命令,适合手机中已经安装的应用(如淘宝.微信.QQ等),命令:adb shell dumpsys window w|findstr \/|findstr name= 在使用 "adb shell dumpsys window w…
appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的.那如何快速的获取这APP的这两个参数呢? 通过cmd命令,前提是先打开手机中你要获取包名的APP 1. adb shell 2. dumpsys activity | grep mFocusedActivity 如果你安装了Appium,进入设置页,选择APK 路径,下面就会显示包名和Activity名称 方法三. 1,打开APP. 2,执行> adb…
appPackage和appActivity 进行appium自动化测试必须的两个参数,我们所测试的APP项目不同,这两个参数肯定也是不一样的.我们启动的包都是靠这两个参数去驱动的,那么我们怎么可以快速获取它们呢,本人用过很多方法,但是都很麻烦,比如安卓自带的hierarchyviewer.bat工具虽然可以获取还要自己手动打出来.下面介绍最简便有效的方法 通过cmd命令,前提是先打开手机中你要获取包名的APP 1. adb shell 2. dumpsys activity | grep mF…
1,手机连接电脑,打开手机调试功能,并运行待测试APP,终端执行: adb shell 2,接着,执行: dumpsys window windows | grep -E 'mFocusedApp' 直接查看输出结果中mFocusedApp的值,比如 mFocusedApp=AppWindowToken{372f88d6 token=Token{3b7b14f1 ActivityRecord{20692498 u0 com.tencent.mm/.ui.LauncherUI t895}}} 那么…
1.环境准备:创建模拟器请参考:http://www.cnblogs.com/mrjade/p/5803131.html 2.新建一个java project,[File]-->[New]-->[Project],[Java Project]-->[Next],输入工程名称Appium,点击[Finish],然后新建两个包,apps,libs,libs主要用存放jar包 3.访问此链接将代码下载到本地:https://github.com/appium/sample-code/ 下载方式…
安装好Appium后,我们来继续安装Android SDK和JDK,JDK的安装以及环境变量配置这边就不再多说了,毕竟都是从事自动化的,这个应该是so easy.闲言少续,我们来操作Android SDK. 1.下载adt-bundle,ADT Bundle包含了Eclipse.ADT插件和SDK Tools,是已经集成好的IDE,只需安装好Jdk即可开始开发,这里讲下SDK与ADT ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclip…
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr name= 或 adb shell dumpsys window |findstr mCurrent 或 adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed…
方法一 原文链接:http://mp.weixin.qq.com/s/KTkfmibSoaGOmDazJmZ8Sw 利用appium图形界面和已有的apk文件获取package和activity. 点击安卓图标: 选择apk文件的路径: package会显示此apk的package参数: launch activity会显示此apk启动时的activity参数: 方法二 原文链接:http://sqa.stackexchange.com/questions/12373/android-app-t…
使用get_attribute()获取元素属性,括号里应该填写什么? 查看appium源码 如果是获取resource-id,填写resourceId self.driver.find_element(MobileBy.XPATH, "//*[contains(@resource-id,'followed_btn')]").get_attribute('resourceId') 如果是获取text,填写text,不是name,这是不准确吗? self.driver.find_eleme…
1.运行该测试用例,报如下错误 java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.<init>(Lorg/openqa/selenium/remote/ErrorCodes;Z)V    at io.appium.java_client.AppiumDriver.<clinit>(AppiumDriver.java:41)    at com.MFExchange.appium.MFExchan…
第一次学习appium,希望此安装教程可以帮助初学者,共同学习. Appium官网介绍:Appium是与本地,使用开源自动化测试框架, 混合和移动Web应用程序. 它驱动iOS和Android应用使用的webdriver协议. 1.首先安装node.js,我的电脑是64位的,所以下载的是64位的node.js,https://nodejs.org/,一般选择Recommended For Most Users即可 2.安装完成,打开Windows 命令提示符,敲入“npm”命令回车.如果出现下图…
本文仅供参考,同时感谢帮助我搭建环境的同事 操作系统的名称:Mac OS X操作系统的版本:10.12.6 接下来我们开始踏上搭建Appium+java+ios之路,本文只说个大概,毕竟本机已经装过了,我就不在折腾了,耗费好几天时间才搞定. 一:安装Appium 1.作者系统安装的Appium版本为:1.6.4,安装方法:打开终端输入:npm install –g appium@1.6.4,检查是否安装成功:终端输入appium -v,如果显示版本号说明安装成功. 2.图形界面客户端安装方法:官…
下载eclipse,这个下载方式比较多,eclipse官网,CSDN都有的下,版本根据自己操作系统选择,切记eclipse版本一定要与JDK版本一至,不然eclipse无法启动.现在我们来搭建Android开发环境 1.打开eclipse,点击Help,点击eclipse marketplace,在弹出的窗口中填写“adt”,如图 因为我已经安装成功了,所以是如图所示,如果未安装,请点击“Install”进行安装,安装ADT方式较多,我这边只讲这一种,其它大家可以自行百度,下面我们来看看安装好后…
一,获取apppackage 方法不止一种,我只介绍自己知道的两种. 1,通过APPIUM工具添加APK包后,会自动显示出来. 2,打开UI AUTOMATOR VIEWER 定位工具,随便指向一个定位元素,就会显示出来. 二:获取appActivity方法 使用log查看大法(嗯,windows上没grep不幸福,好在有powershell的Select-String,可以拿来勉强一用),直接搬砖. a.启动待测apkb.开启日志输出:adb logcat>D:/log.txt c.关闭日志输…
appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具体介绍一下关于UIautomatorviewer的元素定位: 所有的关于自动化的测试,其实都是通过定位页面的元素,识别元素来,来操作进行界面的操作,从而进行判断是否符合一个预期的结果的: 下边主要介绍一个uiautomatorviewer这个工具,uiautomatorviewer是Android-…
appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的. 介绍两种方法可快速获取APP的这两个参数: 方法一 1.打开虚拟机,安装好应用程序.(可直接把apk文件拖入到应用程序)  或使用真机连接电脑也可 2.进入cmd命令行下,输入 adb devices .会输出已连接的设备 3.对要测试的app随便操作下 4.在命令行下输入  adb logcat>D:/log.txt   (输出日志) 5.关闭日志输…
deviceName值的获取: deviceName=192.168.137.150:5555 ip:手机ip地址,端口,通过如下命令开启 # adb devices //查看当前连接设备 # adb tcpip 5555 //开启5555端口 # adb connect 192.168.137.150 //连接手机看是否能连接 # adb devices //再查看当前连接设备 参考地址:http://adbshell.com/commands/adb-connect 元素定位工具:使用And…
接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, unittest from selenium import webdriver PATH = lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p)) desired_caps = {} desired_caps['pl…
appium Ui自动化调起微信并点击登录按钮的java代码(对的,就这么一丢丢). public class testWX { public static void main(String[] args) throws Exception { AndroidDriver driver; //DesiredCapabilities 负责启动服务端时的参数设置. DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapabili…
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工…
前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium Android Input Manager for Unicode输入法导致的 相关环境: appium1.8.1 python3.6 手机使用夜神模拟器 遇到问题 加上unicodeKeyboard和resetKeyboard参数后,运行如下代码 # coding=utf-8 from appium i…
简介 本篇文章主要介绍了python中yaml配置文件模块的使用让其完成数据和代码的分离,宏哥觉得挺不错的,于是就义无反顾地分享给大家,也给大家做个参考.一起跟随宏哥过来看看吧. 思考问题 前面我们配置Capability时,各个参数都是在代码里面写死的,比如:desired_caps['platformVersion']='5.1.1' 一旦设备和测试的app发生改变则需要去代码里面一个个修改,要么同时根据不同设备不同App来维护多套代码,这样显示是不符合规范而且是低效的!违背了自动化的初衷,…
简介 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志是有价值的信息宝库. 日志文件是专门用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件,等等. 系统日志文件是包含关于系统消息的文件,包括内核.服务.在系统上运行的应用程序等.不同的日志文件记载不同的信息.例如,有的是默认的系统日志文件,有的记载特定任务. 在数据库中用事务日志文件记录数据的修改操作,其中的每条日志记录或者记录所执行的逻辑…
简介 接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下. Appium端口检测 问题思考 经过前面学习,我们已经能够使用python启动appium服务,但是启动Appium服务之前必须保证对应的端口没有被占用,否则会出现如下报错: error: Couldn't start Appium REST http interface listener. Requested port is already in use. Pl…
目录 1.获取元素文本内容 (1)text()方法 (2)get_attribute()方法 (3)综合练习 2.获取元素在屏幕上的坐标 1.获取元素文本内容 (1)text()方法 业务场景: 进入设置. 获取所有元素class属性为android.widget.TextView的文本内容. 代码实现: # 定位元素 text_vlaue = driver.find_elements_by_class_name("android.widget.TextView") # 打印页面中cl…
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们选取了相对成熟稳定,支持多种平台的Appium框架.虽然Appium自身的Api能解决大多数的测试场景,但总有漏网之鱼.不巧,就是这些漏网之鱼往往成为我们自动化实施中的那些梗.本文主要介绍我们测试团队在Appium UI自动化实施过程遇到的梗,以及对应的解决方法. 自动化测试 Appium自动化框架…
POPTEST培训:web自动化测试之DOM   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478. 培训其实是一个很难的事情,为了让学员在很短的学习周期中尽快掌握并能在工作中应用起来,讲师一定要设计好课程内容,才能达到预期效果. DOM -----Document Object Model 文档对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内容.结构和样式的语言…