appium

How to locate elements/ Object locators for Android devices

坚强是说给别人听的谎言 提交于 2020-01-18 16:35:48
There are two ways to locate elements; 1. User uiautomatorviewer.bat under android-sdk/tools/bin 2. User appium Desktop Inspector, a. Start appium destop b. Click the button looks like a search button, which located in the appium desktop right-upper corner, to start inspector session c. Set the correct capability for the android device, then click "start Session" 来源: https://www.cnblogs.com/littledot/p/12209230.html

Appium的使用笔记(二)(基本操作)

荒凉一梦 提交于 2020-01-17 18:22:14
主要内容是app的启动,关闭,安装卸载,置于后台,获取元素文本内容,获取元素位置和大小和属性值,滑动屏幕,拖拽,长按和抬起,分辨率和截图,获取和设置手机网络,通知栏操作 1.在脚本内启动其他app 1 #app_package是要打开的包名 2 #app_activity是要打开的进程名 3 driver.start_activity(app_package,app_activity) 2.用appium获取包名和进程名 1 #一般用于打开一个程序后,输出所显示的应用包名和进程名 2 print(driver.current_package) 3 print(driver.current_acivity) 3.如果需要关闭某个应用程序后,再打开新的程序,那么关闭的方法 1 #关闭当前操作的app,不会关闭驱动对象(驱动对象就是在前置代码后设置的driver之类的) 2 driver.close_app() 3 #关闭驱动对象,同时关闭所有关联的app 4 driver.quit() 4.用appium安装和卸载app 1 """安装app""" 2 #app_path是apk的路径 3 driver.install_app(app_path) 4 5 """卸载app""" 6 #app_id是应用程序的包名 7 driver.remove_app(app_id) 8 9 ""

appium简明教程(6)——启动appium及android模拟器

こ雲淡風輕ζ 提交于 2020-01-17 04:24:06
一般情况下,我们都从命令行启动appium。 windows下,dos命令窗口输入 appium 如果该命令报错,那么请重装appium npm install -g appium 如果安装出错,请自行更换npm源。 npm -g --registry http://registry.cnpmjs.org install appium 然后请打开android的模拟器,如果没有请新建一个虚拟设备。请自行解除设备锁定(手动把屏幕解锁了),以防万一。 本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任何商业用途 下面的代码以启动android原生的计算器程序为例 ruby篇 require 'appium_lib' caps = { caps: { platformName: 'Android', appActivity: '.Calculator', appPackage: 'com.android.calculator2' }, appium_lib: { sauce_username: nil, sauce_access_key: nil } } driver = Appium::Driver.new(caps).start_driver 讨论:可以看出ruby lib里面的Appium::Driver类实际上就是原生的webdriver类的子类,当然了

Opening multiple appium server Instances on same machine

跟風遠走 提交于 2020-01-17 03:35:27
问题 Can I start 2 appium server instances on my machine at the same time so that I can execute my test script simultaneously on 2 different devices connected to the machine? Actually what I'm trying is to run my test script on 2 devices connected to same windows machine. For this I am using TestNG to pass the Android Driver url to start session. This url will be dynamic as 2 devices will be using 2 Appium server instances. Can I create 2 instances of Appium server at same time? If so then can I

appium的log详细分析

孤街醉人 提交于 2020-01-16 23:55:48
下面介绍appium日志的大概分析 //启动appium服务成功 2017-03-24 11:22:49:218 - info: [Appium] Welcome to Appium v1.6.3 2017-03-24 11:22:49:221 - info: [Appium] Non-default server args: 2017-03-24 11:22:49:222 - info: [Appium] log: 'C:\\Users\\LXG\\Desktop\\appium.log' 2017-03-24 11:22:49:270 - info: [Appium] Appium REST http interface listener started on 0.0.0.0:4723 //收到从脚本传递的post请求,将desiredCapabilities参数全部传递给服务端 2017-03-24 11:23:57:842 - info: [HTTP] --> POST /wd/hub/session {"capabilities":{"desiredCapabilities":{"app":"C:\\Users\\LXG\\Desktop\ \zhihunew1.apk","noSign":true,"newCommandTimeout":600,

FAutoTest-微信小程序 / 公众号H5 自动化利器

女生的网名这么多〃 提交于 2020-01-16 23:42:30
X5内核H5自动化背景 近来有很多童靴咨询如何做微信小程序/公众号等H5页面来做自动化,之前写了一篇文章微信小程序自动化测试实践 https://www.cnblogs.com/yyoba/p/9455519.html/ 其中的工具是用appium来做。但是微信小程序/公众号这种H5页面是用微信自家X5内核来渲染的,appium对其支持的并不是非常理想,通过ChromeOption定制X5内核的进程运行时其稳定性不尽如人意,最近有关注到腾讯自家开源了专门做微信小程序/公众号H5页面自动化的框架,所以给各位小伙伴们唠叨唠叨。 FAutoTest FAutoTest是腾讯自家开发来做微信H5页面的自动测试框架,既然企鹅能将其开源,说明这个框架应该是经过其内部验证实践的。我们可以从GitHub上找到这个开源项目地址 https://github.com/Tencent/FAutoTest/ 框架的介绍和使用需要的环境官方网址已经介绍的非常详细了(对于英文犯晕的同学友好度max),这里就不多做介绍。 还要再重点强调一遍,必须要打开微信的内核debug模式,怎么打开可以参考我之前的微信小程序自动化测试实践这篇blog。之前是写的微信小程序实践,那这篇就拿公众号来试下水。 FAutoTest实践 工具选型 官方有对其介绍:框架内打包了 Python 版本的 UIAutomator,方便在安卓

Appium Hybrid混合应用测试——Native切换WebView

ぐ巨炮叔叔 提交于 2020-01-16 23:41:54
Appium H ybrid混合应用测试过程中,经常需要在Native和WebView之间进行切换; 1.切换至WEBVIEW操作; for cons in driver.contexts: if cons.lower().startswith("webview"): driver._switch_to.context(cons) break # 或 cons = driver.contexts # 获取上下文列表 driver._switch_to.context(cons[-1]) 2.切换至NATIVE_APP操作; driver._switch_to.context("NATIVE_APP") 切换WebView时遇到两个问题,导致无法进行 WebView 切换: 【问题1 contexts只能获取NATIVE_APP,无法获取WEBVIEW】 使用uiautomatorviewer定位元素,显示class值为:android.webkit.WebView 但是driver.contexts只打印出了‘NATIVE_APP’; >>> driver.contexts ['NATIVE_APP'] 【解决方案】 需要开启webview远程调试功能, Android 4.4以上,需要在应用代码中增加一下代码段开启该功能 (可由开发人员增加后重新打包给测试):

APPIUM 小程序webview问题

孤者浪人 提交于 2020-01-16 23:40:06
小程序许多界面都是hybrid,有些webview页面用uiautomator viewer查看不到元素,这里就要 获取webview 的pagesource了 1.环境:   需要确定appium_chromedriver的版本和微信的webview版本对应: 获取微信的webview版本信息,打开x5调试debugx5.qq.com 在信息页面下打开对应的inspector调试 然后进入谷歌浏览器chrome://inspect/#devices在 对应的设备下查看 appium_chromedriver版本自行百度 2.app启动参数: 在caps中指定对应的driver: 1.caps['chromedriverExecutableDir']=r'C:\Users\Administrator\Desktop\appium_chromedriver' 2.caps['chromedriverExecutable']=r'C:\Users\Administrator\Desktop\appium_chromedriver\chromedriver.exe' 加上对应Androidprocess caps['chromeOptions']={'androidProcess':xxxx', 'args': ['--no-sandbox'] }

Appium学习5:Package与Activity

爷,独闯天下 提交于 2020-01-16 18:56:47
Package Package 包。这是在我们的app中这个Package是唯一的,就像你身份证号码一样。 在我们做app自动化时,我们就需要知道他的Package,我们知道了Package那么也就知道我们需要对哪个app做自动化。 注意和.apk文件包名不同。 通过UIAuto演示不同app的包名 也可通过adb shell pm list package命令查找包名 Activity Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最基本的模块之一。 在android的程序中,activity一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么activity就相当于一个网页。 在activity当中可以添加一些Button、Checkbox等控件,可以看到activity概念和网页的概念相当类似。 一般一个android应用是由多个activity组成的,这多个activity之间可以进行相互跳转。例如,按下一个Button按钮后,可能会跳转到其他的activity,与网页跳转稍微有点不一样的是,activity之间的跳转有可能返回值。 Tips:activity的生命周期:即“产生、运行、销毁”,但是这其中会调用许多方法onCreate(创建)

Appium学习1:初识Anrdiod SDK

吃可爱长大的小学妹 提交于 2020-01-16 10:07:51
下载安装 首先需要安装配置好jdk环境。 Android SDK包下载 • 官网下载:https://android-sdk.en.softonic.com/download • 网盘下载: http://tools.android-studio.org/index.php/sdk Android SDK Manager 安装后启动 SDK Manager.exe 程序就可以看到Android SDK Mannerger的主界面。 Tools目录: Android SDK Tools (必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带rc字样的是预览版。 Android SDK Platform-tools (必须,只需下载一个版本,一般选最新版本):从android2.3开始划出此目录,存放公用开发工具,比如adb、sqlite3等,被划分到了这里。 Android SDK Build-tools (必须,可以安装多个版本):Android项目构建工具。 Android xxx(API xx) 目录(可选的各平台开发工具): • Documentation for AndroidSdk(可选):安卓开发者官网的一些离线文档,不过下载下来打开也很慢,后面会提供另外一个离线版。 • SDK Platform (必须):对应平台的开发工具