简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你就是你死我活的节奏,不是坑把你埋了,就是你把坑填了.由于咱们都是黄皮肤的中国人用的大部分都是中文的app,而人家老外都是白皮肤蓝眼睛,用的是英文的APP,人家这个问题可以忽略.我们却不可以的,必须面对的.所以首先宏哥要带小伙伴们解决中文输入的问题! 你能走多远,取决于你填坑能力有多强 微博上看到一张…
前言 上一篇提到"adb shell input textyoyo" 可以通过adb 输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写了个ADBKeyBoard输入法的apk,完美支持unicode编码,也能输入中文和其它字符了 ADBKeyBoard 1.ADBKeyBoard在github的源码地址ADBKeyBoard github 地址,有兴趣的可以去看看,这里我翻译成中文文档了 2.ADBKeyBoard是一个虚拟键盘,它接收来自…
前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium Android Input Manager for Unicode输入法导致的 相关环境: appium1.8.1 python3.6 手机使用夜神模拟器 遇到问题 加上unicodeKeyboard和resetKeyboard参数后,运行如下代码 # coding=utf-8 from appium i…
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…
前言 做过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模板的一…
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了…
前言 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…
前言 学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…
名称 链接地址 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…
本文转自: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…
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两个方法都能实现back键.打开cmd输入指令 # 方法一: > adb shell input keyevent KEYCODE_BACK # 方法二: > adb shell input keyevent 4 2.常用的keyevent事件 解锁(KEYCODE_NOTIFICATION): a…
前言 最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn't match this client (39); killing... 从报错信息看是adb版本不匹配导致的,接下来讲如何解决这个问题 环境: 夜神模拟器 6.0.9.0 系统adb版本号 1.0.39 遇到问题 1.从官网下载夜神模拟器[下载地址],我下载的版本是V6.0.9.0,傻瓜式下一步安装后,adb devices连手机 adb device…
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两个方法都能实现back键.打开cmd输入指令 # 方法一: > adb shell input keyevent KEYCODE_BACK # 方法二: > adb shell input keyevent 4 2.常用的keyevent事件 解锁(KEYCODE_NOTIFICATION): a…
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上打开的手机模拟器) > adb device > adb shell > input C:\Users\Gloria>adb devices Li…
在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页面 2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用上一篇所说的就能搞定 3.脚本如下图 二.运行脚本 1.首先要确认手机上的输入法是用什么输入法,如果默认是中文的输入法,启动后会出现下面的情况,无法输入成功(手机截得图,可能美观度不太好~) 2.于是可以先把手机上的输入法…
一.定位搜索 1.打开淘宝点击搜索按钮,进入到搜索页面 2.然后定位到搜索框后用sendkeys方法输入‘hao’,这里定位元素使用uiautomatorviewer工具即可 3.脚本如下,输入的是英文字符串(hao) # -*- coding:utf-8 -*- # APP元素定位 import os, time, unittest from selenium import webdriver #PATH = lambda p:os.path.abspath(os.path.join(os.p…
前言 接着上篇介绍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.于是可以先把手…
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上打开的手机模拟器) > adb device > adb shell > input C:\Users\Gloria>adb devices Li…
前言 在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点搜索按钮,进入到搜索页面 2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用第四篇讲的uiautomatorviewer工具就可以了 3.脚本如下图(公众号版权所有:软件测试部落)   二.运行脚本 1.首先要确认手机上的输入法是用的什么输入法,如果默认是中文的输入法,启动后会出现下面情…
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量.然后启动cmd 输入‘adb’即可查看是否配置成功. 有小伙伴会问,为什么我需要学习…
前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了 以下操作是基于windows平台的操作:adb logcat | find linux平台的操作可以把find改成grep: adb logcat | grep windows上的dos里面是没grep指令的 logcat输出日志 1.把日志存入手机sdcard某个目录(前提是这个目录要是存在的) adb logcat -f /sdcard/yoyo/yoyo.…
前言 用手机连电脑的时候,有时候需要把手机(模拟器)上的文件导出到电脑上,或者把电脑的图片导入手机里做测试用,我们可以用第三方的软件管理工具直接复制粘贴,也可以直接通过adb命令导入和导出. adb shell 1.在导入和导出前先对adb shell基本操作熟悉下,cmd输入adb shell就能进入了,android的系统是基于linux系统开发的,adb shell就是进入shell模式 2.查看文件详情和进入文件夹操作 C:\Users\admin>adb shell HWBND-H:/…
一.步骤及环境 环境:Windows 7版本 64位系统(python) 1.jdk安装配置:jdk1.6.0 (64位) 2.android-sdk下载安装:android-sdk_r24.3.4-windows 3.安装Node.js:node-v4.4.7-x64 4.安装appium(Appium Server或appium-desktop):1.4.13.1 5.安装Appium-Python-Client 6.appium-doctor环境检查 7.安装模拟器 8.测试环境验证 9.…
前言 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,自己搭建环境的时候,按照某些博客安装遇到各种奇葩问题,希望此篇文章对你有所帮助,如有错误,请指正. 1.环境准备(本人环境:系统win7,64位操作系统) 1)jdk1.8.0(64位) 2)Android SDK 3)Python 3.5 4)AppiumForWindows_1_4_13…
前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+python的实例. 学习appium最大的难处在于环境的安装,80%的人死于环境安装,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装. 一.环境准备 小编的环境是Windows 7版本 64位系统(32位的同学自己想办法哦) 1.jdk1.6.0 (64位) 2.a…
简介 Capability又叫Appium Desired Capabilities,前边写了那么多实例代码,小伙伴可以发现一些规律,就是有一部分代码总是重复的出现在你的视线中.这部分就是对Capability的配置.那么今天给小伙伴们分享.介绍和讲解一下Capability.让你知道她的来龙去脉,知道为什么代码里那么写. 1. 什么是Capability 在讲capability之前大家是否还记得在讲log时给大家看过的启动时的日志?在我们的整个启动日志中会出现一些配置信息,其实那些信息就是c…