appium

Appium + python自动化 - 启动app

元气小坏坏 提交于 2020-03-12 05:56:51
各种百度将Appium + python的环境搭建好后,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动app呢?首先要获取包名,然后获取launcherActivity。获取这两个关键东西的方法有很多,在这里推荐一个sdk自带的实用工具aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。 一、下载aapt 1.在android-sdk里面双击SDK-manager,下载build-tools: 2.勾选build-tools,选择一个版本,我这里选的是24的版本。 3.下载完成后,在C:\androidsdk\android-sdk-windows\build-tools\24.0.0目录下找到aapt.exe,将这个路径设置环境变量,添加到path下: 4.打开cmd。输入aapt出现如下界面,说明环境OK了。    二、获取apk包名 1.将准备测试的apk放到D盘某个目录,如D:\test 2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk 3.以手机淘宝.apk为例,如图: 4.这里就可以看到apk的包名:com

Is it possible to run Appium iOS automated tests on Ubuntu?

爱⌒轻易说出口 提交于 2020-03-11 20:09:50
问题 I know that it's impossible to code the test on ubuntu since I need apple's xCode, but I would like to know if, once coded, it is possible to run the automated tests on Ubuntu. Thanks. 回答1: No, appium needs xCode to use UiAutomation and instruments to perform testing on iOS unfortunately. 回答2: I did follow with success the following tutorial: Appium on Raspberry-Pi My current setup is as follows: iOS devices connected to Raspberry-Pi 4 (Ubuntu) Appium server on RPi + Quamotion tools Inspect

Appium的详细介绍

大憨熊 提交于 2020-03-10 09:56:59
1、Appium 是什么? Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试工具,Appium应用WebDriver: JSON wire protocol驱动安卓和iOS移动应用。 2、Appium的特点: 支持多平台(Android、iOS等) 支持多语言(python、java、ruby、js、c#等) Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。 Appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是如何做到支持多语言的原因; Appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量。 3、Appium的哲学: 不需要重新编译或者修改应用 不被一种语言或者框架约束 不重复造轮子 开源免费 4、Appium原理: Appium是c/s架构的 ; Appium是基于webdriver协议添加了对移动设备自动化api扩展而成的, webdriver是基于http协议的

Appium 客户端库 API

拈花ヽ惹草 提交于 2020-03-08 08:25:08
## Appium 客户端库 Appium 有对应以下语言的客户端库: 语言 | 代码 :--|--: [Ruby][rubygems] | [GitHub](https://github.com/appium/ruby_lib) [Python][pypi] | [GitHub](https://github.com/appium/python-client) [Java][maven] | [GitHub](https://github.com/appium/java-client) [JavaScript][npm] | [GitHub](https://github.com/admc/wd) [PHP][php] | [GitHub](https://github.com/appium/php-client) [C#][nuget] | [GitHub](https://github.com/appium/appium-dotnet-driver) [Objective-C][cocoapods] | [GitHub](https://github.com/appium/selenium-objective-c) [rubygems]: http://rubygems.org/gems/appium_lib [pypi]: https://pypi.python.org

用命令方式启动、停止appium服务和app

拥有回忆 提交于 2020-03-08 07:13:30
启动appium服务并监听一个端口命令: 命令command==>   appium -a {ip} -p {port} -U {deviceName} -g {log} 以shell命令方式执行命令,并输入日志到log文件:用subprocess需导入 subprocess.Popen(command, stdout=open(LOG_PATH, 'a+'), stderr=subprocess.PIPE, shell=True)  #相当于再cmd窗口输入上面的命令command 根据端口号查询是否已经启动服务: subprocess.getoutput('netstat -ano | findstr %s'%self.port)    #如果找到以启动端口包含port,则会返回对应信息, netstat -ano | findstr 1111   查询端口号1111的进程信息,从中可以获得pid 启动模拟器或手机,访问服务监听的那个端口: webdriver.Remote('http://127.0.0.1:4723/wd/hub',dic)   #dic是模拟器或手机的设备信息和app信息 根据pid查询进程信息,第一列就是进程名称 tasklist | findstr 2472 根据进程名称杀死改名成对应的所有进程: taskkill /F /IM node.exe /t

Python+appium

本小妞迷上赌 提交于 2020-03-06 16:40:43
老生常谈的套路,先说说环境搭建,再甩一段代码秀一下,然后简单说说几个常见的问题,显显摆显摆 1、环境搭建 强烈推荐搭建环境,使用 https://www.python123.io/ ,下载速度飕飕。。。。。,毕竟是国家二级考试推荐的,好用是硬道理 解释器 开发工具 镜像地址: pip是个好东西,但是默认的地址不友好,建议替换,飕飕。。。。 来源: oschina 链接: https://my.oschina.net/u/4430469/blog/3189107

(appium+python)UI自动化_03_元素定位工具

断了今生、忘了曾经 提交于 2020-03-05 20:36:56
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app。定位元素首先需要定位工具来辅助查看页面元素。小编常用的定位工具有2种,分别是uiautomatorviewer、appium inspector。 uiautomatorviewer 是Android sdk 自带的定位工具,元素层级展示清晰,但是定位不到内嵌H5页元素。appium inspector是appium上自带的定位功能,元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素。 一、uiautomatorviewer定位 前提:已安装配置android sdk环境 1,打开uiautomatorviewer定位工具 点击android sdk->tools->uiautomatorviewer 2,usb连接手机 (1)打开手机开发者模式、usb调试功能 (2)手机usb连接电脑 (3)验证连接成功 mac打开终端(windows打开命令行工具)->输入指令“adb devices”->显示设备号即连接成功 3,刷新页面,查看元素 (1)点击左上角 刷新页面 (2) 点击页面,右侧查看元素 鼠标点击左侧页面元素,右侧可查看元素层级关系和元素id、class等属性详情 二、appium inspector定位 前提:已安装appium客户端版本 1

Appium 服务器初始化参数(Capability)

耗尽温柔 提交于 2020-03-05 18:18:59
键 描述 值 automationName 自动化测试的引擎 Appium (默认)或者 Selendroid platformName 使用的手机操作系统 iOS , Android , 或者 FirefoxOS platformVersion 手机操作系统的版本 例如 7.1 , 4.4 deviceName 使用的手机或模拟器类型 iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 , 等等.... 在 iOS 上,使用 Instruments 的 instruments -s devices 命令可返回一个有效的设备的列表。在 Andorid 上虽然这个参数目前已被忽略,但仍然需要添加上该参数 app 本地绝对路径_或_远程 http URL 所指向的一个安装包( .ipa , .apk ,或 .zip 文件)。Appium 将其安装到合适的设备上。请注意,如果您指定了 appPackage 和 appActivity 参数(见下文),Android 则不需要此参数了。该参数也与 browserName 不兼容。 /abs/path/to/my.apk 或 http://myapp.com/app.ipa browserName

关于《Selenium3自动化测试实战--基于python语言》

我是研究僧i 提交于 2020-03-05 17:27:28
2016年1月,机缘巧合下我出版了《Selenium2自动化测试实战--基于python语言》这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目中使用Selenium,几乎离不开编程语言和单元测试框架,难道你只用Selenium IDE去录制/回放脚本么? 没想到受到许多测试人员的欢迎,我会时常去看网上的书评。大多是感谢的留言,书的销量也印证了这一点,当然,也有批评和建议。在此,表示感谢。 随着,我对Selenium自动化技术的理解,越来越发现《Selenium2自动化测试实战--基于python语言》书中有许多不足之处。 2017年的时候,我就有萌生了要重写一版的想法,当时能想到的改动的地方不多。只是一定未开始动笔。知道2018年下半年,我才开始重新写这本书。 接下来,我将简单的向你介绍以下新书的章节,以及我的改动。 第一章: 不讲什么是软件测试,以及测试的分类这些过于基础的东西了。快速的帮助你对自动化测试,以及Selenium、appium有一个认识。 第二章: 搭建环境。 第三章: python基础,修改了部分列子,以及我认识上的错误,比如,我把 list/列表 称为 数组 ,这其实源于我学C/Java语言,就把他们的叫法照搬了过来。显然,是不太合适的。随着对python的语言的使用,也有了更多的认识。如果你还不会python

Appium+python自动化18-brew、carthage和appium-doctor

陌路散爱 提交于 2020-03-03 18:45:29
前言 本篇安装brew、carthage,解决启动appium时的报错问题,另外安装appium-doctor检查appium的环境 1.brew 2.carthage 3.appium-doctor 一、brew安装 1.brew是一个软件包管理工具,类似于centos下的yum或者ubuntu下的apt-get,类似于python之pip或java之maven,就是这么回事。 2.brew的安装是需要用ruby安装的,ruby这玩意mac自带了,终端输入:ruby -v 可查看版本号 3.继续输入这个这个指令安装brew:ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ ruby -v $ ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 4.安装完成后查看版本号 $ brew -v 4.卸载指令: $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master