appium

一篇文章教会你用Python抓取抖音app热点数据

北城余情 提交于 2020-08-11 01:08:40
今天给大家分享一篇简单的安卓app数据分析及抓取方法。以抖音为例,我们想要抓取抖音的热点榜数据。 要知道,这个数据是没有网页版的,只能从手机端下手。 首先我们要安装charles抓包APP数据,它是一款收费的抓包修改工具,易上手,数据请求容易控制,修改简单,抓取数据的开始暂停方便等优势,网上也有汉化版,下载地址为 http://www.zdfans.com/html/42074.html,一路默认安装就ok了。 安装完成后要设置代理,依次点击代理——代理设置。 然后在手机端设置代理,如下图所示: 在保证手机和电脑在同一局域网的情况下,代理服务器主机名设为电脑的ip地址,端口设为8888。 最后在电脑端和手机端分别安装证书。 电脑端安装方法:依次点击帮助——ssl代理——安装charles root证书 ,按下图进行安装。 手机端安装方式:帮助——ssl代理——在移动设备或远程浏览器上安装charles root证书。 再在模拟器浏览器中输入chls.pro/ssl,会自动下载手机端证书 最后再手机端依次点击设置——安全——从SD卡安装。 为证书命名,点击确认就安装成功了。 打开charles,然后打开抖音app的热点榜界面,在charles很容易就找到了数据接口,一次就返回了50条数据,如下图所示。 它的url信息如下图所示。 此接口只能返回这一时刻的热点数据,要想返回新的数据

Appium

Deadly 提交于 2020-08-10 21:59:54
Appium简明教程/新手入门: http://www.testclass.net/appium Appium 是一个移动 app 自动化工具 手机APP自动化:   - 自动化完成一些重要性的任务   - 比如微信客服机器人   - 爬虫 就是通过自动化爬取信息   - 自动化测试 Appium 自动化特点: 开源,跨平台,多语言支持的 移动应用 自动化工具 测试对象App原型平台 windows, Liunx, Mac OS ios的应用, appium server 必须要运行在苹果机器上 MacBook Mac 自动化测试端用 客户端库 苹果: UIAutomation / XCTest 安卓:UIAutomator 自动化原理 - 构架图 安装 安装Appium Python Client 包 (Client库)   * pip install Appium-Python-Client   * 要确保安装匹配版本的selenium 和 appium   * pip install selenium -U 安装AppiumServer 方法一:node.js & npm (下载比较缓慢)   npm install -g appium 方法二: Appium Desktop   下载地址 http://appium.io/ 安装 Android SDK   *

你会吗?Python+Appium实现自动化测试

∥☆過路亽.° 提交于 2020-08-10 20:06:12
一、环境准备 1 .脚本语言:Python3.x IDE:安装P ycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK 然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到 加入我们,642830685,群,领取免费的福利,大厂面试资料,自动化接口、框架搭建等资料 二、真机测试 1.连接手机 打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试 测试是否连接成功,可执行命令adb devices 出现上图就证明手机和电脑连接成功。。。 2. 点击Start Inspector Session, 按如下配置Desired Capabilities platformName:声明是ios还是Android系统 platformVersion: Android内核版本号,可通过命令adb shell getprop ro.build.version

做了一两年软件测试的进阶应该怎么做?

…衆ロ難τιáo~ 提交于 2020-08-10 14:30:15
昨天在知乎问答上看到了一个问答。问的是软件测试人的进阶该怎么做?他说自己的在小公司呆久了,太安逸,如下图: 在小公司呆久了,太安逸,想要突破技术瓶颈? 我记得刚毕业时公司请的培训老师跟大家说“测试人员越老越吃香的”,然而事实上这有个前提他没说,就是你 需要具备足够的专业技能。 进入软件测试一段时间后,我们也应该对自己的专业技术能力进行提高,以便我们能胜任更加关键性的项目测试,提高自己在团队中的位置。 当下的趋势是 对测试人员的技术要求越来越高 ,这怎么说呢,说白了,就是测试人员不再是只管点点点的, 一些大厂国企公司招人,最容易进的就是能写代码或脚本的测试人员。 说到软件测试进阶,就那我接触最多的Python自动化测试举例子吧。我个人觉得可以分为六大模块系统性的进阶: 一、Python编程 包括环境搭建,基础语法,数据类型,分支与循环,面向对象编程,数据库相关内容。为后续自动化测试打下良好基础,为更快上手自动化测试框架实现做铺垫。 二、WebUI自动化测试 Selenium➕WebDriver实现的WebUI自动化测试框架内容掌握,可以从最浅层的环境搭建,到基本的模块调用,到实现自动化demo再到企业主流的PO模式与关键字驱动模块,全面掌握WebUI自动化测试能力。 三、APPUI自动化测试 基于Appium、UIAutomator2

一些 Python 代码加速运行的技巧进行整理

蓝咒 提交于 2020-08-10 06:23:10
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 基本环境配置 版本:Python3 系统:Windows 需要安装: 1.JDK - Download JDK,Appium要求用户必须配置JAVA环境, 否则启动Seesion报错。 2.Appium - Download Appium, 安装过程请自行搜索。 3.Android SDK - Download SDK 4. Selenium - 建议使用低版本的Python Selenium库,在Chrome高版本可能会报错。例如: 5. chromedriver.exe - Download Chromedriver, 确保版本要匹配, 然后将 .exe 程序放在"..Python\Python36\Scripts"目录下。 6. pymongo 7. MongoDB Server - Download MongoDB 爬取思路 爬取思路: 模拟登录 抓取动态 保存数据 Android SDK的安装与配置 打开Android Studio, 选择"Configure->SDK Manager->Apperance&Behavior->System Settings->Android SDK", 选择对应安卓机版本的SDK,如图: 此外

基于pytest实现appium多进程兼容性测试

北城余情 提交于 2020-08-10 05:12:37
前言 在实际工作中,如果要用appium实现多设备的兼容性测试,大家想到的也许是“多线程”,但由于python中GIL的影响,多线程并不能做到"多机并行",这时候可以考虑使用多进程的方式 为什么基于pytest 我们知道,pytest中的conftest.py可以定义不同的fixture,测试用例方法可以调用这些fixture,来实现数据共享。以前的框架的思路是:Common目录下的base_driver.py定义生成driver的方法-->conftest.py中调用前者生成driver-->TestCases下的测试用例调用fixture,来实现driver共享 。但是现在不同了,我们有多个设备,这些设备的信息如果只是单纯的写在yml中,我们并行去取的时候似乎也不方便,那可以写在哪里?conftest.py似乎也不是写设备信息的好地方,最后只剩下了main.py,而且将main.py作为多进程的入口再合适不过了 但问题又来了,如果我们想启动多个appium服务,需要考虑以下几点: appium通过什么方式启动? 设备信息如何传递给base_driver方法来生成driver 第一点很明确,客户端启动appium server的方式似乎有点不合时宜了,如果你要同时测5个手机,难道要一个个启动客户端吗?最好的方式是启动命令行,因为命令行启动更方便更快 再说第二点前,先整理一下思路

PO设计模式-实现移动端自动化测试

為{幸葍}努か 提交于 2020-08-10 02:06:12
开发环境:python 3.6.5 + selenium 2.48.0 + pytest框架 + Android 5.1 工具:pycharm + Appium + Genymotion 测试机型:Samsung Galaxy S6 #需求:设计 3个测试用例 # 1 .实现点击设置 ->显示 ->放大镜(查找) ->输入内容 ->点击返回按钮 # 2 .实现点击设置 ->更多 ->移动网络 ->首选网络类型 ->2G # 3 .实现点击设置 ->更多 ->移动网络 ->首选网络类型 ->3G 以下是PO模式设计文件目录 加入我们,群,642830685,领取最新软件测试资料大厂面试和Python自动化、接口、框架搭建学习资料! 实现设计模式前: ``` import time from appium import webdriver class TestSetting : def setup ( self ) : # server 启动参数 desired_caps = { } # 设备信息 desired_caps [ 'platformName' ] = 'Android' desired_caps [ 'platformVersion' ] = '5.1' desired_caps [ 'deviceName' ] = '192.168.56.101:5555' #

Android自动化测试,5个必备的测试框架

那年仲夏 提交于 2020-08-10 00:43:58
Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合)。作为一个跨平台的工具,你可以在不同的平台上运行相同的测试。为了实现跨平台的功能,Appium使用了供应商提供的Android UI框架来实施测试:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它将这些供应商框架封装到Selenium WebDriver中,这使得使用Appium的开发者可以编写各种类型语言的测试:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。这也使得编写Appium测试与编写Selenium测试非常相似。 WebDriver最初是为web测试创建的,Appium用额外的API方法扩展了WebDriver,使得它更适合于移动自动化。 以下是一些有用的Appium特性: 不需要在设备上安装任何东西。 不需要重新编译或改变应用程序来匹配Appium。 Appium有一个非常大而活跃的社区。 Appium附带一个扫描和分析应用程序的UI组件的工具——Appium UI Inspector。开发人员也可以使用Android Studio的UI Automator Viewer。 如果你需要为iOS和Android编写测试

怎么转型自动化测试?——让转型自动化测试不是空喊!

*爱你&永不变心* 提交于 2020-08-09 17:28:25
少部分从事软件自动化测试,会接触底层服务端、API 、Web、APP、H5 等等,对自动化有了解。 想做自动化,首先得了解一下自动化测试的一些常见问题。 也是面试时,必问的一些问题(这么简单的面试问题,你却答的一塌糊涂),如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。   自动化测试一些问题 一、什么是自动化测试? 自动化测试,顾名思义,自动完成测试工作。 通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。 自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然。 因为每一个自动化测试的case都是从手工测试做起的,如果没有手工测试的基础,是没法进行自动化测试。 二、为什么要进行自动化测试 为什么进行自动化测试,答案要从自动测试的收益和人肉测试的成本说起: 1)自动化测试节约成本(根据项目) 毕竟自动化测试确实解放了一批人力(人力成本才是IT公司大的成本),可以让机器没日没夜的执行一些重复劳动. 2)有些测试项目手工很难实现(手工成本较高) 比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟. 3)项目质量流程需要 比如版本管理需要build verify,以保证check in的code不会影响版本库。 类似于smoke

2020自动化测试岗位需求的7项必备技能(更新版)

喜夏-厌秋 提交于 2020-08-09 13:44:35
随着敏捷和DevOps等新时代项目开发方法逐渐取代旧的瀑布模型,测试需求在业界不断增长。测试人员现在正在与开发人员一起工作,自动化测试在许多方面极大地取代了手动测试。如果您是自动化测试领域的新手,刚雇用您的组织将期望您快速,开箱即用,并能够检测到错误或提供没人想到的解决方案。但是,仅凭测试的基础知识,您将如何成为一名成功的,不同于前任的测试自动化工程师?成为2020年成功的自动化测试员的技能是什么?让我们找出答案。 一、自动化测试员技能——编程语言 当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。 对编程有一点了解,不仅可以简化那些自动化脚本,还可以帮助您改善与开发人员的沟通。不仅如此,一旦单元测试完成,您还可以参与深入的功能测试。现在,要获得自动化测试人员的#1技能,有两个不同的方面,需要多少编程知识取决于您的角色以及几年后您在行业中的位置。方面是: 设计框架 您需要对Python,Java,Perl,SQL,XML以及HTML和CSS具有透彻的理解和编码技能。虽然,您应该精通哪种语言取决于项目中开发人员使用的编程语言。例如,如果项目在Ruby上,则您至少应具有Ruby基础知识的基础知识。以下是对测试人员有用的顶级编程语言。 创建测试脚本 在此阶段,您是否应该具有编程知识