此文的目的主要是通过分析Appium Server打印出来的log,加深对Appium Server所扮演角色的理解. 这整一个过程是由一个Test Case开始执行到结束,测试的对象是SDK自带的NotePad.apk. Test Case很简单:打开Notepad程序,然后点击安卓的Menu Options按钮调出“Add Note”菜单按钮,然后点击该按钮,然后完成测试. package majcit.com.AppiumDemo; import io.appium.java_client…
原文地址:http://blog.csdn.net/zhubaitian/article/details/39474151 此文的目的主要是通过分析Appium Server打印出来的log,加深对Appium Server所扮演角色的理解. 这整一个过程是由一个Test Case开始执行到结束,测试的对象是SDK自带的NotePad.apk. Test Case很简单:打开Notepad程序,然后点击安卓的Menu Options按钮调出“Add Note”菜单按钮,然后点击该按钮,然后完成测…
一.启动浏览器:pycharm中python脚本如下: from appium import webdriver desired_caps ={ 'platformName':'Android', 'deviceName':'127.0.0.1:62001', 'platformVersion':'6.0', 'appPackage':'com.android.browser', 'appActivity':'com.android.browser.BrowserActivity' } webd…
Appium 安装过后,会有图形界面,同样也支持命令行参数的启动和配置 Windws: 在windows 安装配置Appium有三种方式: Node install -g appium .exe文件安装 绿色解压安装(appium_1.3.4 之前版本) Node 安装 Appium 本来就是使用Node js编写的,算是Node js的一个模块,如果使用的是Node命令直接安装 安装成功之后可以在命令直接输入 appium ,就可以看到appium启动了 .exe文件安装 使用exe 程序安装…
Appium 的安装方式根据官网提供的是使用nodejs 安装,但是官方给出了三种方法 参考网址: appium下载地址: https://bitbucket.org/appium/appium.app/downloads appium GitHub: https://github.com/appium/appium 1. npm 安装 安装node ,之后在命令行输入node -v 查看node 的版本 执行下面的命令 开始安装 npm install -g appium 安装过程记得FQ下载…
我们知道Appium应用启动时自带的caps可以先行启动某个应用(基于appPackage和appActivity),那么如何用其连续启动多个应用呢? 这里就需要用到start_activity()方法来启动其它应用,格式如:start_activity(self, app_package, app_activity, **opts) 如下面实例,连续启动Calculator,FM radio,Music三个应用,代码如下: 补充用adb命令快速查看某应用appPackage及appActivi…
各种百度将Appium + python的环境搭建好后,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动app呢?首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法有很多,在这里推荐一个sdk自带的实用工具aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看…
安装appium时,直接从github上下载的appium-desktop-windows版本,安装后,从打开桌面端Server,能启动服务,appium-doctor也能正常运行. 但奇怪的地方来了,在调试命令行启动时,无法正常运行,看了下,确实桌面版启动程序没有加入path路径,于是手动加了: 但是继续运行命令行启动时,只能打开exe,命令参数输入的端口号没有生效. 此时搜了下相关资料,发现是应调用appium.cmd文件,但实际在电脑中找不到该文件(everything搜全盘). 后来了解…
第一次使用博客,小白级,互相交流,有说的不对的地方欢迎来喷!!! 自动化的目的就是减少人工成本,如果每次跑自动化用例时都要手动起appium客户端,太费事了~~故,将appium server的调起和关闭写在代码中是必要的一步. 在步骤中说坑...(ps:小白的坑,大神可能会嘲笑~~呼呼~~) 1.将appium客户端打开,能够看到启动server其实是这句话> Launching Appium server with command: D:\Program Files (x86)\Appium…
找到appium安装目录 C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android 修改代码,注释掉弹出setting和unlock的代码 重启下appium,问题解决…
进入appium安装目录,C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android,编辑android.js文件,注释掉如下图的源码…
# 退出驱动driver.quit() # 退出当前应用driver.close_app() # 启动当前应用driver.launch_app() # 置于后台XX秒后恢复driver.background_app(3)…
1.检查服务是否开启 2.简单Android设备是否连接成功 3.检查4723端口是否被占用: netstat -ano|findstr '4723' 查到被占用后,找到pid,进入任务管理器查看该pid对应的服务,关掉该服务即可…
本文档将详细介绍如何搭建 Appium 的运行环境,以及如何编写一个简单的 UI 自动化测试用例.其中,也会穿插讲解一些 Appium 的基本知识.关于 Appium 的更多信息,大家可以查看官方文档. 注意事项: 本文档是在 macOS 系统的基础上讲解相关操作 编程语言选择了:Python 2.7 Appium 是跨平台的 UI 自动化测试框架,支持 Android.iOS 等系统,本次只介绍基于 Android 的自动化测试 安装 Appium Appium 的安装有两种方式: 1.下载…
研究了一段时间的Appium android app的自动化测试,工作中需要连接多台手机终端同时执行测试用例,我实现的方式是获取用例中需要执行用例的设备id个数以及实际连接到的设备数(通过adb devices获取),然后启动相应数量的Appium 服务,以便每个设备执行时并发进行并且互不影响.当然也可以通过selenium grid来实现,只是目前还在学习研究中,还是先把目前启动多个appium服务实现的方式记录下来. 一.Windows下启动单个appium服务 需要启动多个appium服务…
想在jenkins中,自动定时启动appium服务,shell命令已准备如下: BUILD_ID=dontKillMe echo "" > appium.log nohup appium --address --session-override --platform-name Android --platform-version --automation-name Appium --log-timestamp --local-timezone --no-reset >>…
import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServiceBuilder; import io.appium.java_client.service.local.flags.GeneralServerFl…
准备: 一台真机一台模拟器(使用的是“夜神模拟器”) 先查看是否检测到设备  adb devices    由上图可看出没有检测到模拟器(夜神模拟器已开启) 可通过以下配置完成: 第一步:找到adb的安装路径,找到adb.exe 第二步:将adb.exe复制到夜神模拟器下安装路径下的bin,更改名称为  nox_adb.exe: 因为夜神模拟器的安装路径下已经有相同名字的文件,复制粘贴前请做好区分,如下图可先将之前的nox_adb.exe 加了_1做区分:adb.exe也一样需要做区分(或者提前…
前言 做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行.有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性. 这就需要启动多个appium服务了,并且android设备和appium要一一对应才行. 启动多个手机 1.这里以夜神模拟器和雷电模拟器为例,先启动这2个设备 2.adb devices查看设备名称,多个设备会显示多行数据 启动多个appium服务 1.启动appium服务,可以用命令行模式,在cmd里面启动,可以参考上一篇 ap…
小白搞appium,遇到启动不了activity的问题: 查找解决方案说是跟AndroidManifest.xml有关系,参考:https://github.com/appium/appium/issues/4313 之后打开AndroidManifest.xml,在主activity和intent入口处添加:android:exported="true"…
简介 前面课程只是启动了单个appium服务,只能控制单台设备.如果需要针对多台设备测试那么该如何处理?而且发现群里的小伙伴们也在时不时地在讨论这个问题,想知道怎么实现的,于是宏哥就决定写一片这样的文章来给小伙伴们,答答疑,解解惑.希望对各位小伙伴或者童鞋们有所帮助,可以是你们豁然开朗. 启动多个appium服务 首先看下面两个启动appium服务案例. 启动appium服务1 启动appium 服务2 上面案例我们启动了2个不同的appium服务器,他们通过不同的端口来区分不同的服务:如同百米…
简介 接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下. Appium端口检测 问题思考 经过前面学习,我们已经能够使用python启动appium服务,但是启动Appium服务之前必须保证对应的端口没有被占用,否则会出现如下报错: error: Couldn't start Appium REST http interface listener. Requested port is already in use. Pl…
前戏 前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务. 我们可以使用subprocess模块,该模块可以创建新的进程,并且连接到进程的输入,输出,错误等管道信息,并且可以获取进程的返回值 使用python启动appium服务,端口配置如下 appium服务器端口:4723,bp端口为4724 appium服务器端口:4725,bp端口为4726 说明:bp端口(--boot…
电脑上已安装了appium desktop版,想在移动端自动化的过程中,通过脚本启动appium server,环境准备: 1.确保电脑安装了node.js,目前用的是node12 2.安装JDK,且配置了环境变量 3.安装了Android sdk,adb(我用的是免安装的sdk工具包,没用Android studio自带的sdk) 以上,环境准备完成,开始安装 1.通过npm命令先安装cnpm   npm install -g cnpm --registry=https://registry.…
在调试脚本的时候想看查找元素和执行命令花了多少时间,我们可以在启动appium server的时候加上启动参数,实现我们的需求. 1)输入:appium h,可以查看appium提供的启动参数有哪些. 2)我需要在启动的时候打印时间,方便我查看查找和执行动作花费的时间,输入:appium --log-timestamp,执行的所以日志都会把时间数据都打印出来. appium h usage: /usr/local/bin/appium [-h] [-v] [--shell] [--allow-c…
Appium介绍 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用.混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用.重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例.…
原文地址:http://blog.csdn.net/zhubaitian/article/details/39755553 所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面.其实这是一个很简单的例子,只是为了验证几点想法而已. 1.实验目的 做这个试验的目的有二 尝试下窗体滑动函数swipe的使用 好奇究竟能不能正常的对安卓的Launcher进行指定package和activity进行测试 2.实验背景 过程是打算使用appium来启动launcher,然…
Appium Server拥有两个主要的功能: 它是个http服务器,它专门接收从客户端通过基于http的REST协议发送过来的命令 他是bootstrap客户端:它接收到客户端的命令后,需要想办法把这些命令发送给目标安卓机器的bootstrap来驱动uiatuomator来做事情 通过上一篇文章<Appium Server 源码分析之启动运行Express http服务器>我们分析了Appium Server是如何作为一个http服务器进行工作的.那么今天我们就要分析第二点,Appium S…
手机自动化培训:Appium介绍 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478. Appium介绍 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者…
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/slate/cn/master/?ruby#about-appium 中文Appium API 文档 第一章:关于appium 1.1 appium客户端 客户端类库列表及Appium服务端支持 这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额…