uiautomator

【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(二):安装facebook-wda库并编写简易自动化测试脚本

旧城冷巷雨未停 提交于 2021-02-14 09:26:17
上一篇介绍完如何安装WDA,接下来开始正式安装开发库并编写自动化脚本。 目录: 一、 安装facebook-wda库 二、 通过WEditor定位元素 三、 附录:学习资料 一、 安装facebook-wda库 运行命令行安装: pip install --pre facebook-wda 或者使用pycharm中,Preferences->Project->Project Interpreter->【+】(加号), 搜索:facebook-wda,并安装 举个栗子,页面元素定位,如下图,class、name一一展示: 通过“ ideviceinstaller -l ”或者其他工具查找到APP软件的bundleId $ ideviceinstaller - l Total: 5 apps com.ysr.scancode - 二维码扫描器 3 com.apple.test.WebDriverAgentRunner -Runner - WebDriverAgentRunner-Runner 1 com.sogou.sogouinput - 搜狗输入法 142709 com.netease.cloudmusic - 网易云音乐 1044 com.leqimea.recorderAudio - PP助手 10000 但是,会一直报错 Could not connect to

Python主讲移动端自动化测试框架Appium 从基础到项目实战

北城余情 提交于 2021-02-03 13:10:43
download: Python主讲移动端自动化测试框架Appium 从基础到项目实战 说到APP自动化测试,Appium可是说是非常流行了, 不仅支持多语言、多平台的优势,同时支持Andriod、iOS、H5的自动化测试;本课程会从初级的Appium框架讲起,涉及业界常见的po模型、关键字模型、服务自动化、持续集成等实战讲解,让你快速上手移动端自动化测试工作,高薪工作手到擒来! 适合人群及技术储备要求 本门课程是为初、中级测试工程师准备的,更是入门移动端自动化测试工程师的首选课程,毫不夸张的说 学习完本课程内容,以及《Web自动化测试 Selenium基础到企业应用》、《Python接口测试框架实战与 自动化进阶》实战课程后,具备3年左右工作经验的你,完全可以轻松 PK 百度T4 测试工程师! 技术储备要求: 了解Selenium、Webdriver基础知识 有一定的Python语法基础 熟悉APP功能测试 课程目录:第1章 appium环境到根底函数的封装 经过环境搭建得思绪剖析将环境搭建起来,经过Appium的原理刨析整个运转进程,以慕课网启动到登陆的实践例子爲切入点,深化解说appium的id、className、层级定位、list定位、UIAutomator定位、xpath定位、H5定位等根底知识和罕见api运用,函数封装等。... 1-1 课程目的及课程规划-导学 试看

【转】微信小程序实现自动化测试

与世无争的帅哥 提交于 2021-02-01 11:55:56
山雨欲来风满楼,最近微信小程序相关开发文章吹遍大江南北,亦有摧枯拉朽万象更新之势。问小程序形为何物,直教IT众生怡情悦性高潮迭起。作为一名有着远大理想“包袱”与互联网变革 “使命感”的测试工程师,我再也按耐不住内心中的渴望与好奇,代表测试行业各大门派肩负起了迎接时代变革的挑战。话说经历了围观查看、溜边打探等种种过程,终于在隔壁老王那里弄到了测试体验资格,开始了一场对小程序的自动化亲密接触。 上篇 —— 小程序初探 上手的小程序是微信官方的测试Demo,类似Android Api Demos一样,官方小程序中展示的也是各种控件的使用方法及常用接口扩展能力。通过添加开发者微信账号后,扫描二维码既可以打开微信小程序。 一、小程序运行时分析 1、首先,启动微信,查看一下微信都有哪些进程。 shell@HWNXT:/ $ ps | grep u0_a539 u0_a539 6688 533 1751392 84976 SyS_epoll_ 0000000000 S com.tencent.mm:push u0_a539 7593 533 2228476 252492 SyS_epoll_ 0000000000 S com.tencent.mm u0_a539 8047 533 1984672 854121 SyS_epoll_ 0000000000 S com.tencent.mm

移动端Appium自动化测试框架的优势

随声附和 提交于 2021-01-30 09:57:06
众所周知,现在市面上的移动端 操作系统 已被Android和IOS占领,其中Android的份额更是在80%以上。那么面对市面上林林总总的自动化测试 框架 和工具,为什么说Appium在自动化测试框架的统治级优势呢,下面先看一下各大主流框架的对比及优势。  一、主流框架对比   下面对比了市面上主流的几大框架:   二、各大框架优缺点说明 1、 Monkey 是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行 压力测试 ,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。 2、 MonkeyRunner 也是Android SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用 Python 来写,对测试人员来说要求较高,有比较大的学习成本。 3、 Espresso 是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。 4、 UiAutomator

鸿蒙系统尝鲜

↘锁芯ラ 提交于 2021-01-26 07:50:34
升级 鸿蒙开放公测后,第一时间申请了公测,地址为(https://developer.huawei.com/consumer/cn/activity/301607581257578636),审核时间一周到两周不等,经验是开发者账号需要新建一个 app 项目能更快通过申请,审批通过后,会收到短信通知,之后很快就收到系统的推送升级,升级之后进入鸿蒙系统。(想提前体验一下的,可以去鸿蒙官网下载 IDE,可以使用 remote 设备,似乎就是本地的一个模拟器,但是这个模拟器目前调用 uiautomator2 框架会有权限问题) 使用感受 目前在手机上没有发现跟安卓有差别的地方 测试相关 adb 命令完全复用 进入 shell 环境后,shell 下的命令目前没有发现跟安卓表现不一致的地方 因为自动化用 atx2 ,主要看了下在本地执行的一些权限,uiautomator2 框架,minicap 的执行情况。目前是一切正常。 跑自动化的情况 用 atx2 跑了我们自己应用的自动化回归用例,除了个别的元素识别兼容问题,未发现有功能错误。 暂时结论 现状是基本可以平稳过度,但是不排除后续增加一些更新,比如权限收紧或者框架更替产生问题。这个帖子会继续持续更新 本文分享自微信公众号 - TesterHome(AskTesterHome)。 如有侵权,请联系 support@oschina.cn 删除。

python接口测试之序列化与反序列化

╄→尐↘猪︶ㄣ 提交于 2020-12-18 06:51:06
在python中, 序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式 字符串 解码为python数据对象。 在python的标准库中,专门提供了json库与pickle库来处理这部分。 先来学习json的库,导入json库很简单,直接import json,下面通过具体的实例来说明json库对序列化与反序列化的使用。json库的主要方法为: #!/usr/bin/env python #coding:utf-8 import json print json.__all__ 见json库的主要方法: ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONEncoder'] 我们定义一个字典,通过json把它序列化为json格式的字符串,见实现的代码: #!/usr/bin/env python #coding:utf-8 import json dict1={'name':'wuya','age':22,'address':'xian'} print u'未序列化前的数据类型为:',type(dict1) print u'未序列化前的数据:',dict1 #对dict1进行序列化的处理 str1= json.dumps(dict1) print u'序列化后的数据类型为:'

APP爬虫过滑块验证码的一种思路, 从此不再依赖打码平台

☆樱花仙子☆ 提交于 2020-11-25 11:51:57
每一个想学习的念头,都有可能是未来的你在向自己求救。 最近在学习 APP 逆向的道路上遇到一个 APP,当请求接口频繁的时候,会触发风控提示需要滑动验证码。验证码类型/风格类似下图: 经过分析发现,当触发风控后接口返回数据为空(因为一些原因这里就不再展示相应的数据)。但在返回的 response 的 headers 中发现有个可疑的参数,这个参数是一个 URL 地址,通过浏览器打开发现是一个滑块地址。于是开启抓包 -> 触发滑块会发现滑块成功后页面会生成一个新的 cookie ,复制出来尝试携带该 cookie 值继续请求,果然不出意外又可以拿到数据了。 上面的操作确实已实现了过滑块的目的,但是作为一个程序员,我们大多时候希望将整个过程实现自动化。所以我们先想一下我们可能需要什么东西: 一个浏览器加载 url; selenium/uiautomator2 等自动化操作滑块并拦截 cookie 使用; 可能在平时的工作中我们使用 selenium/u2 这些自动化软件比较多,但考虑到使用 selenium 操作这种简单的滑块略显笨重,所以我决定直接使用 Android WebView 组件来加载滑块 url。 关于 Android WebView 组件详细介绍请自行搜索,随手放一个链接 -> 来源: oschina 链接: https://my.oschina.net/u

appium+python自动化63-使用Uiautomator2报错问题解决

风格不统一 提交于 2020-11-24 13:25:12
前言 appium desktop V1.7.1版本使用命令行版本启动appium后,使用Uiautomator2定位toast信息报错:appium-uiautomator2-server-v0.3.0.apk does not exist or is not accessible 主要原因是缺少appium-uiautomator2-server-v0.3.0.apk这个apk文件 问题分析 打开cmd启动命令行版本,appium V1.7.1 使用Uiautomator2定位toast信息 from appium import webdriver desired_caps = { "platformName": "Android", "deviceName": "emulator-5554", # 设备名称 "platformVersion": "5.1.1", # android系统版本号 "appPackage": "com.yipiao", # app包名 "appActivity": "com.yipiao.activity.LaunchActivity", # 启动launch Activity "noReset": True, # 不清空数据 'automationName': 'Uiautomator2' # 使用Uiautomator2 } driver =

Python自动化测试踩坑记录(企业中如何实施自动化测试)

假装没事ソ 提交于 2020-11-01 21:18:40
文章首发于公众号:程序员一凡 企业中如何实施自动化测试 在我们读高中的时候, 是不是经常听老师说: 学好数理化,走遍天下都不怕。 作为软件测试这个行业,在当下, 你学好自动化,你去哪面试都不怕。 说是这么说,但是你想提前下班,自动化测试解放劳动力、提高效率,让程序脚本在不需要看守的情况下“起飞”如果你的代码、脚本掉到了坑里,你觉得你还能提前下班吗? 有可能,你甚至不如别人做功能测试的。别人一个功能都测试完好久了,你的自动化脚本报了一堆错,还不知道找这个错误的原因。自然你的自动化做不起来,自动化的价值体现不出来。 所以,我针对我们Python自动化测试中基础容易遇到的一些坑,进行一些 实战的案例讲解 。 在讲这一些坑之前,先给大家分享一下我对自动化测试概念的理解。 在做自动化测试之前,我们要思考一个问题。自动化不是说你会写一点简单的自动化脚本,你就能来实施。你要有一个规划,再去慢慢的推进落地。 我总结了几点: 1.根据业务特点,选择自动化测试方案。 ⒉.根据业务侧重点确认自动化覆盖范围和粒度。 3.根据自动化测试用例范围,选择实现框架和语言。 4.根据用例用途,选择执行策略。 (1)你在一个公司,你的产品是什么样子的,根据你产品的业务特点,你去选择确定一个自动化测试方案,这个很重要。比如说你们公司主要注重业务特点是数据库或者后端的一些内容(有些产品注重前端的界面)