appium自动化---activity获取】的更多相关文章

方法一:appt查询activity获取 aapt dump badging <路径/包名> | find "launchable-activity" 方法二: 1.打开app的同时输入以下其中一条: windows使用: adb shell dumpsys window w |findstr \/ |findstr name= adb shell dumpsys window |findstr mCurrent adb shell dumpsys activity | f…
Appium自动化部署: 1)安装appium桌面程序安装:超链接 2)安装客户端 pip install appium-python-client 3)安装服务器 安装 Nodejs 4)连接appium服务 # 连接appium # appium服务器地址 command_executor = "http://127.0.0.1:4723/wd/hub" #默认 # 所需能力:http://appium.io/docs/cn/writing-running-appium/caps/…
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,classname, accessibilityid,xpath来定位元素,其他这些方法底层都是利用了 UI Automator 的 API 功能实现的 UI Automator 介绍 UI Automator 测试框架提供了一组 API 来构建 UI 测试,用于在用户应用和系统应用中执行交互 利用 UI…
如文章< Appium基于安卓的各种FindElement的控件定位方法实践>所述,Appium拥有众多获取控件的方法.其中一种就是根据控件所在页面的XPATH来定位控件. 本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出. 1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是“note1”和“note2”添加到Notepad上面,我们要做的就是尝试用xpath的方法来定位“no…
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销…
如文章<Appium基于安卓的各种FindElement的控件定位方法实践>所述,Appium拥有众多获取控件的方法.当中一种就是依据控件所在页面的XPATH来定位控件. 本文就是尝试通过自己的试验来尝试对Appium怎样用xpath来定位控件做一个阐述,其中如有不正确的地方敬请大家指出. 1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例.如果已经有两个Notes各自是"note1"和"note2"加入到Notepad上面.我们要做…
Fragment与Activity之间的数据交换,通常含有3: 一.Fragment从Activity获取数据(仅本文介绍了一个第一): 两.Activity从Fragment获取数据: 三.Fragment之间的数据访问. 实现效果图: 从Activity传递数据到两个Fragment中,Fragment获取数据后,展示出来. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjQ0MDIwNw==/font/5a6L5L2T/fontsize…
原文地址:http://blog.csdn.net/zhubaitian/article/details/39754233 如文章<Appium基于安卓的各种FindElement的控件定位方法实践>所述,Appium拥有众多获取控件的方法.其中一种就是根据控件所在页面的XPATH来定位控件. 本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出. 1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两…
如文章<Appium基于安卓的各种FindElement的控件定位方法实践>所述,Appium拥有众多获取控件的方法.其中一种就是根据控件所在页面的XPATH来定位控件. 本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出. 1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是"note1"和"note2"添加到Notepad上面,我们要做的…
整理Fragment与Activity之间的数据交换,大体上包括三种: 1.Fragment从Activity获取数据 2.Activity从Fragment获取数据 3.Fragment之间获取数据通常,如果Activity向不同的Activity传递数据,最常用的是通过Intent.putExtra()方法,将简单类型的数据或可序列化的数据保存在Intent对象中,然后在目标Activity中使用getXxx(getInt,getString等)方法获得这些数据.  从Activity向Fr…
appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具体介绍一下关于UIautomatorviewer的元素定位: 所有的关于自动化的测试,其实都是通过定位页面的元素,识别元素来,来操作进行界面的操作,从而进行判断是否符合一个预期的结果的: 下边主要介绍一个uiautomatorviewer这个工具,uiautomatorviewer是Android-…
在界面布局文件中使用<fragment>元素添加Fragment时,可以为<fragment>元素指定android:id或android:tag属性,这两个属性都可用于标识该Fragment,接下来可以通过findFragmentById(int id)或者findFragmentByTag(String tag)来获取该Fragment Activity获取它包含的Fragment:调用Activity关联的FragmentManager的findFragmentById(in…
用appium开发移动端自动化测试脚本这么长时间,还没有认证的了解下它的原理是什么,到底是如何实现的呢? 1.先看一个Appium加载的过程图解(来自:了解appium自动化的工作原理--https://blog.csdn.net/jffhy2017/article/details/69220719/) Appium的加载过程 1)调用Android adb完成基本的系统操作 2)向Android上部署bootstrap.jar 3)Bootstrap.jar Forward Android的端…
问题背景 做appium自动化的时候,使用了UiAutomator1驱动,然后设置了UnicodeKeyboard 执行自动化脚本之后,玩手机的时候发现平时用的输入法键盘没法调出来了 'automationName': 'UiAutomator1', 'unicodeKeyboard': True 问题原因 默认的手机输入法会被appium自动切换成Unicode IME了 解决方案 很简单,将当前输入法切换成自己原来用的就行啦!…
方法一: ①手机通过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…
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 在Desired Capabilities这么多参数里面,对于Android来说,以下两个参数都是必不可少的 'appPackage' 'appActivity' 而不同的app ,也会有不同的Activity和Package,那么我们需要通过什么方式去获取它们捏! 方式一:问开发人员 如题,直接找开发拿即可 方式二:通过ad…
一,获取apppackage 方法不止一种,我只介绍自己知道的两种. 1,通过APPIUM工具添加APK包后,会自动显示出来. 2,打开UI AUTOMATOR VIEWER 定位工具,随便指向一个定位元素,就会显示出来. 二:获取appActivity方法 使用log查看大法(嗯,windows上没grep不幸福,好在有powershell的Select-String,可以拿来勉强一用),直接搬砖. a.启动待测apkb.开启日志输出:adb logcat>D:/log.txt c.关闭日志输…
使用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…
方法一:直接打开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…
1.安装JDK1.7及以上 2.下载解压sdk并且配置环境变量: ANDROID_HOME:...\adt-bundle-windows-x86_64-20140702\sdk PATH:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools; dos检测adb版本:如下则sdk环境配置成功! 3.安装夜神模拟器(自行百度),然后开启夜神模拟器! 4.安装appium  URL:https://github.com/appium/appium-des…
基本参数 参数 描述 实例 automationName 自动化测试引擎 Appium或 Selendroid platformName 手机操作系统 iOS, Android, 或 FirefoxOS platformVersion 手机操作系统版本 如: 7.1, 4.4:ios的 9.0 deviceName 手机或模拟器设备名称 android的忽略,ios如iPhone Simulator app .ipa .apk文件路径 比如/abs/path/to/my.apk或http://m…
今天,自己独自做了一下app自动化,从搭环境到写好一个脚本花了很长时间.用的主要环境是python3.7+appium+sdk+夜神模拟器.appium环境搭建较于复杂,这里就不累述,参考百度教程. 首先先导入模块 from appium import webdriver,获取驱动对象.驱动对象可以帮助我们完成,脚本跟手机之间的交互操作. 然后声明手机驱动对象 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_cap…
常用函数 一.获得信息类API (1)获取当前页面的activity名,比如: (.ui.login.ViewPage)  current_activity() 比如我们需要实现这个登录的功能时,主要思路为如果当前界面为登录页面时,就进行登录行为,否则就跳转到登录页面.其伪代码为: 1 if driver.current_activity == ".ui.login.ViewPage": 2 // To login_action 3 else: 4 // Trun to loginPa…
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素定位,而Web网页是单独的B/S架构,两者的运行环境不同因此需要进行上下文(context)切换,然后对H5页面元素进行定位操作. context 关于应用程序环境的全局信息的接口. 这是一个抽象类,其实现由Android系统提供. 它允许访问特定于应用程序的资源和类,以及对应用程序级…
第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试脚本.那么移动端自动化测试,我们同样需要一部Android手机(手机需要链接电脑)或者Android模拟器. 安装java 环境 众所周知,Android是由Java语言开发的,所以想开发Android应用首先需要Java环境,所以,我们首先需要安装Java环境. java下载地址:http://www.java.com/zh_…
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初次步入测试行业的小白,也十分渴望能够使用自动化来分担测试工作.上网搜索了很多的资料,了解了很多工具,再加上之前有稍微接触过Appium,所以决定使用Appium开启自动化的探索.Appium支持的脚本语言有很多,例如js.java.Python.ruby,可选择一种自己熟练的脚本语言进行编写.  …
测试场景 启动钉钉app进入工作H5页面,点击考勤签到 查看webview上元素 1.电脑上打开chrome浏览器输入:chrome://inspect/#devices 2.Discover USB devices这个要勾选的,可以检查到手机设备 3.Discover network targets 这个勾选,检查到网络 4.下图箭头指向的,是手机的设备名称 5.Webview in com.alibaba.android.rimet(39.0.00)这个是手机上浏览器的内核版本号39 (一般…
前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素定位,而Web网页是单独的B/S架构,两者的运行环境不同因此需要进行上下文(context)切换,然后对H5页面元素进行定位操作. context简介 Android源码中的注释是这么来解释Context的: Interface to global information about an appl…
from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom time import sleepdescred_caps = { "platformName":"Android", "platformVersion…
实现appium的自动化,三步走,具体如下: 第一步:启动appium的服务端: 可以通过命令行的方式启动:cmd,然后输入appium,如下图 也可以打开桌面程序appium,点击右上角的运行按钮,如下图: 第二步,写自动化脚步,我这里用eclipse写的,使用appium的java客户端,如下图: 报错是因为我没有加载相应的包,加载一下就可以了,如下图红圈里面的这些包.(记得把Junit4或者是Testng也加载一下) 我先来说一下我的这个代码,我采用了MVC框架的思想,分为业务层(M),视…