
Appium
不过如此1951
2018 - 2022 就职于西门子;
2022 - 至今 就职于某通信行业外企;
先后搭建过Https接口自动化测试框架,APP自动化测试框架,WEB自动化测试等框架等等;
开发过WIFI/BT/GSM等等射频测试工具;
熟悉掌握各种NI仪器的自动化控制;
具备丰富的软硬件自动化测试工具开发经验!
展开
-
appium desktop 提示 error: Could not find a connected Android device
最近在做appium测试,测试公司的项目。一开始用测试机(Android 5.1.1)连接appium sever 启动app毫无问题;但是连接自己的小米6(Android 8.0.0) 时就一致报错,后来群友告诉说appium sever只支持到android 6.0 所以要换appium desktop。但是呢用appium desktop 连接小米6时一致报错:error: Could ...原创 2018-12-26 17:15:30 · 12878 阅读 · 9 评论 -
appium+python adb常用命令
前言:在appium中adb命令的使用必不可少,做android测试嘛,adb命令肯定肯定是每天都要用的啦,所以今天给特地写个博客吧!这里就不介绍adb是什么以及怎么安装adb了,因为这些东西网上一搜一大把!没必要重写。对于这些常用的adb命令网上也都有介绍,我这里其实就是简单汇总吧。 一、检查设备前提:安卓设备开启开发者模式,开启usb调试1.如何检查手机(或模拟器)...原创 2019-01-07 18:10:57 · 4426 阅读 · 0 评论 -
appium+python 微信小程序的自动化
前言最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?今天写一篇小程序该如何做自动化测试,如何定位,具体以膜拜为例子webview进程1.小程序和微信公众号还不太一样,基本思路差不多,先配置:chromeOptions'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}2.and...原创 2019-01-08 15:13:58 · 12851 阅读 · 3 评论 -
Python+Appium之PageObject 模式实现(一)
这次就用我们公司软件做个案例,主要做一个简单的登录测试用例,由于登录按钮在“我的”页面,所以要用到两个page类(“我的”page类和“登录”page类)如上图所示,测试用例中只需要调用方法来执行你想要的步骤就可以了,然后执行完毕后还需要进行验证,就是断言是否符合预期!好了,概念说清楚了,那我们就准备实现吧,这次要在appium中实现!下面是从我的中进去,点击登录,进入登录页面,如下为“登录”page类。哦哦,对了,这里附上框架结构图吧,以防有小白不知道结构。原创 2019-01-24 17:50:48 · 7226 阅读 · 4 评论 -
appium + python 报错:An unknown server-side error occurred while processing the command.
前言由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当前的webdriver版本去匹配对应chromedriver版本,这是一个难题。可以看下如下官方文档,本篇是根据官方文档翻译过来的。版本不匹配的话一般会报错:An unknown server-...原创 2019-01-10 10:17:25 · 4985 阅读 · 0 评论 -
appium + python 常用的xpath定位
转载地址:https://www.cnblogs.com/yoyoketang/p/9174749.html基本属性定位以淘宝app为例,定位左上角扫一扫按钮1.可以通过text文本定位到//*[@text='text文本属性']# 定位textdriver.find_element_by_xpath("//*[@text='扫一扫']").click()2....转载 2019-01-10 10:20:01 · 5758 阅读 · 0 评论 -
分享一个安卓app自动化遍历工具--Appetizer
今天在群里面无意中有小伙伴介绍了这么一款安卓app自动化测试的神器,Appetizer,该工具可以实现安卓apk的自动化遍历,就一层层点,每个控件都能点到,可以跑一晚上,可以记日志。原生的和h5的apk都可以,相当于遍历测试+稳定性测试。该工具与monkey不同,monkey是发送随机seed给你随机乱点,然后记录日志,而Appetizer是将app一层一层点开,每个空间都能遍历...原创 2019-02-13 09:14:38 · 9686 阅读 · 1 评论 -
appium 报错:Original error:Could not proxy command to remote server. Original error:socket hang up
记录一下今天遇到的一个问题,上周还跑的好好的脚本,今天运行时appium一值报错 soket hang up 导致根本无法获取系统的toast,这样我就没办法断言用例是否通过了。这个报错我基本折腾了一天时间,真的是坑的很!首先我以为是什么代理的问题,查了一圈,没问题;然后又以为是appium版本与设备哪个地方不兼容问题,重装最新appium v1.13,问题未解决;再然后问群友,群友也是...原创 2019-05-27 17:04:35 · 28980 阅读 · 8 评论 -
python+appium的UI自动化框架的分享
去年以来一直在看appium相关知识,正好公司也有安卓系统的项目,所以自上个月开始就着手推动该项目的功能自动化测试。之所以做这个自动化主要原因还是想减轻手工测试压力,部分功能模块交给自动化测试来做回归测试可以减轻部门小伙伴的压力!cases存放具体测试用例,里面可以根据软件模块再具体细分,但是要以package形式新建;common里面主要是一些公共依赖的东西,比如滑动,keyevent,以及发邮件等模块,供其他模块调用;logs里面顾名思义就是存放脚本执行过程中产生的log了;原创 2019-06-14 18:02:13 · 37096 阅读 · 6 评论 -
appium+python - 长按操作(long_press)
转载地址:https://www.cnblogs.com/yoyoketang/p/9044895.html前言长按操作是经常会遇到的场景,通过driver可以直接调出long_press_keycode方法,但是这个方法是长按手机上某个按钮,比如长按电源键,长按home键。长按某个元素或者长按屏幕上某个点,就需要用到TouchAction里面提供的long_press操作了定位Li...转载 2019-01-03 10:07:16 · 6367 阅读 · 0 评论 -
appium+python adb shell模拟按键操作(input keyevent)
前言接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作keyevent1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两个方法都能实现back键。打开cmd输入指令# 方法一:> adb shell input keyevent KEYCODE_BACK# 方法二:> adb shell...原创 2019-01-02 16:46:55 · 4894 阅读 · 0 评论 -
Appium测试中native和webview切换
前言此文转载:https://www.cnblogs.com/yoyoketang/p/7217818.html现在大部分app都是混合式的native+webview,对应native上的元素通过uiautomatorviewer很容易定位到,webview上的元素就无法识别了。 一、识别webview1.用定位工具查看页面,发现页面上有些区域无法定位到,如下图左边红色区域,...原创 2018-12-26 11:42:32 · 4267 阅读 · 0 评论 -
Appium Desktop官方文档+中文API文档
今天在简书上看到一篇。转载 2018-12-26 17:19:57 · 8534 阅读 · 2 评论 -
Appium+python DesiredCapabilities详解
转载地址:https://www.cnblogs.com/yoyoketang/p/7606856.html Android特有关键字 描述 实例 appActivity 启动app包,一般点开头 如:.MainActivity, .Settings appPackage Android应用的包名 比如com.example.android....转载 2018-12-27 13:37:09 · 2439 阅读 · 0 评论 -
appium+python 封装常用的滑动方法(上下左右滑动)
但是呢由于每个手机屏幕的分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的时候坐标不能写死了。可以先获取屏幕的宽和高,再通过比例去计算。在appium的测试过程中,滑动方法是很常用的,所有打算封装起来,调用方便!把上下左右四种常用的滑动方法封装,这样以后想滑动屏幕时候就能直接调用了。参数1:driver。参数2:t是持续时间。原创 2018-12-27 14:31:52 · 8157 阅读 · 1 评论 -
Android夜神模拟器
转载地址:https://www.cnblogs.com/yoyoketang/p/7764352.html 前言Android SDK虽然也自带了模拟器,但是那速度会让你怀疑人生,并且不稳定经常卡死异常。夜神模拟器可以说是android模拟器里面的一个神器。环境安装1.官网下载地址:https://www.yeshen.com/2.夜神安卓模拟器(夜神模拟器),是全新...转载 2018-12-27 16:21:27 · 2505 阅读 · 0 评论 -
appium+python 获取页面元素属性
前言:本位转载,备忘用地址:https://www.cnblogs.com/yoyoketang/p/7942745.html 1. 获取text# coding:utf-8from appium import webdriverfrom time import sleepdesired_caps = { 'platformName':...转载 2018-12-28 10:05:39 · 6007 阅读 · 0 评论 -
Appium python 使用 android_uiautomator定位
https://www.cnblogs.com/yoyoketang/p/7833554.html前言:这里简单介绍一下啊,appium其实是封装安卓的Uiaotomator框架而来的,这一点呢大家可以自行查查。所以呢,uiautomator的一些定位方法也可以用。一 .text1.通过text文本定位语法new UiSelector().text("text文本"...转载 2018-12-29 11:25:03 · 3197 阅读 · 0 评论 -
Appium python 使用 android_uiautomator定位进阶版
转载:https://www.cnblogs.com/yoyoketang/p/7843819.html前言上一篇介绍uiautomator的定位方式都是类似这种'new UiSelector().xxx("xxx")',看起非常长,我也记不住,这很不python。于是本篇优化了定位方法,去掉该死的'new UiSelector().'组合定位1.一般组合用id,class,tex...转载 2018-12-29 14:04:21 · 2785 阅读 · 0 评论 -
appium+python adb shell模拟点击事件(input tap)
前言此篇文章大部分内容为转载,部分内容本人细化,加工!appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢?求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件input事件1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上...原创 2018-12-29 15:00:42 · 9431 阅读 · 0 评论 -
uiautomator2 + weditor 做ui自动化神器
之前呢一直用的python+appium做安卓自动化测试,最近看大佬的博客,发现了又一个神器,简单介绍一下哈:转载地址:https://mp.weixin.qq.com/s/TWhKS1EORLT4Ua26heM8aAuiautomator2 的api文档:https://www.cnblogs.com/jec1999/p/8976960.htmliautomator是Googl...原创 2019-07-25 18:03:17 · 24134 阅读 · 6 评论