前言 本篇安装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.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.继…
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程中,我们的数据可能是存储在一个数据文件中,如txt,excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动. 2.2案例 将测试账号存储在account.csv文件,内容如下: account.csv hg2018 hg2018 hg2019 zxw2019 666 222…
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群,各式各样的.但是其大多数都有注册.登录.为了不要使小伙伴卡在入门处,所以宏哥在这里仅仅是给你打一个样,俗话说:师傅领进门修行靠个人.剩下的就靠童鞋们自己实现和学习了 2.1登录页面业务逻辑模块 思路: 1.首先定义封装一个登录类的视图 2.然后继承公共类的定位方法,定位账号和密码的输入框 3.在类…
Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件 :Usage: driver.contexts 用法 driver.contexts 2. current_context c…
名称 链接地址 Appium+python自动化8-Appium Python API(上) http://mp.weixin.qq.com/s/WvpT5oRrYY22avI95FuypQ Appium+python自动化8-Appium Python API(下) http://mp.weixin.qq.com/s/rGWWf9m9-6n-J7KaGVlqoA Appium+python自动化9-SDK Manager http://mp.weixin.qq.com/s/wGyfXAwJ9M…
前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium Android Input Manager for Unicode输入法导致的 相关环境: appium1.8.1 python3.6 手机使用夜神模拟器 遇到问题 加上unicodeKeyboard和resetKeyboard参数后,运行如下代码 # coding=utf-8 from appium i…
前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触控 多点触摸对象是触摸动作的集合. 多点触控手势只有两种方法,即添加和执行. add用于添加另一个触摸操作到多点触摸. 当perform执行被调用时,添加到多点触摸的所有触摸动作都被发送到AppII,并执行,就像它们同时发生一样.appium首先执行所有触摸动作的第一个事件,然后执行第二个,等等.…
前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Session 2.打开后看到如下界面,刚开始看到这个界面,我也比较懵. 二.Desired Capabilities…
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了…
前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以选择:templet和mako 简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化 接着上一篇讲:appium+python自动化49-yaml管理定位元素 jinja2简介 1.jinja2官方文档:官方文档 jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一…
前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Session 2.打开后看到如下界面,刚开始看到这个界面,我也比较懵. 二.Desired Capabilities 1…
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了…
本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Sessio…
前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+python的实例. 学习appium最大的难处在于环境的安装,80%的人死于环境安装,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装. 一.环境准备 小编的环境是Windows 7版本 64位系统(32位的同学自己想办法哦) 1.jdk1.6.0 (64位) 2.a…
前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+python的实例. 学习appium最大的难处在于环境的安装,80%的人死于环境安装,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装. 一.环境准备 小编的环境是Windows 7版本 64位系统(32位的同学自己想办法哦) 1.jdk1.6.0 (64位) 2.a…
一.前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+python的实例. 学习appium最大的难处在于环境的安装,80%的人死于环境安装,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装.小编属于人品好的,一次安装成功 二.环境准备 小编的环境是Windows 7版本 64位系统 1.Node.js:   node…
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两个方法都能实现back键.打开cmd输入指令 # 方法一: > adb shell input keyevent KEYCODE_BACK # 方法二: > adb shell input keyevent 4 2.常用的keyevent事件 解锁(KEYCODE_NOTIFICATION): a…
前言 在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点搜索按钮,进入到搜索页面 2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用第四篇讲的uiautomatorviewer工具就可以了 3.脚本如下图 二.运行脚本 1.首先要确认手机上的输入法是用的什么输入法,如果默认是中文的输入法,启动后会出现下面情况,无法输入成功 2.于是可以先把手…
前言 在第三篇启动app的时候有这样一行代码driver = webdriver.Remote('http://192.168.1.1:4723/wd/hub', desired_caps),很多小伙伴不知道这个ip和端口哪里来的,于是小编决定写一篇关于这个appium的服务器ip文章! 一般来说appium中127.0.0.1这个地址的默认的不需要修改.在做自动化过程中,如果遇到需要远程操作的话,这个功能就可以派上用场了.想想看,如果公司给你单独配置一台跑自动化测试电脑,然后自己工作的电脑写脚…
前言:appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.略懂Python,所以接下来的教程是 appium+python,自己搭建环境的时候,按照某些博客安装遇到各种奇葩问题,希望此篇文章对你有所帮助,如有错误,请指正. 1.环境准备(本人环境:系统win7,64位操作系统) 1)jdk1.8.0(64位) 2)Android SDK 3)Python 3.5 4)AppiumForWindows_1_4_13…
前言 做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行.有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性. 这就需要启动多个appium服务了,并且android设备和appium要一一对应才行. 启动多个手机 1.这里以夜神模拟器和雷电模拟器为例,先启动这2个设备 2.adb devices查看设备名称,多个设备会显示多行数据 启动多个appium服务 1.启动appium服务,可以用命令行模式,在cmd里面启动,可以参考上一篇 ap…
前言 由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当前的webdriver版本去匹配对应chromedriver版本,这是一个难题.可以看下如下官方文档,本篇是根据官方文档翻译过来的. 版本不匹配的话一般会报错:An unknown server-side error occurred while processing the command. Or…
Appium Desktop 原滋原味的官方文档 Appium Desktop是一款用于Mac.Windows和Linux的开源应用,它提供了Appium自动化服务器在一个漂亮灵活的UI中的强大功能.它是一些与appium相关的工具的组合: Appium服务器的图形界面.您可以设置选项.启动/停止服务器.查看日志等-您也不需要使用Node / NPM安装Appium,因为节点运行时将与Appium桌面绑定. 您可以使用一个检查器来查看应用程序的元素,了解它们的基本信息,并与它们进行基本的交互.这…
Appium Desired Capabilities Desired Capabilities 是由 keys 和 values 组成的 JSON 对象. 举个简单例子: { "platformName": "iOS", "platformVersion": "11.0", "deviceName": "iPhone 7", "automationName": &q…
前言 adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决. 如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端口被其它应用占了 offline 1.如果之前一直都能正常连上adb,突然连不上了,可以用adb devices查看手机连接情况 C:\Users\admin>adb devices List of devices attached * daemon not running; starting no…
前言 adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb install [apk在电脑上的绝对路径] 2.也可以用python执行adb命令安装app,代码实现如下: # coding:utf-8 import os # 安装app,为了方便,把app放到当前脚本同一目录 os.system("adb install baidu.apk") appi…
前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件 :Usage: driver.contexts 用法 driver.contexts 2. current_context current_context(self): Returns the cur…
一.前言 本文是在windows10  X64系统下搭建appium,流程如下: 1.安装jdk1.8+python3.6 (64位) 2.安装node.js 3.安装Appium-desktop 4.安装android ADT 工具 5.Appium-Python-Client Appium 中有个很重要的组件Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试动作.老版本的Appium-…
各种百度将Appium + python的环境搭建好后,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动app呢?首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法有很多,在这里推荐一个sdk自带的实用工具aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看…