Appium+python自动化(一)- 环境搭建—上(超详解)

 简介

  今天是高考各地由于降水,特别糟糕,各位考生高考加油,全国人民端午节快乐。最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声。即将要开启新的征程和篇章(Appium&python)。那么首相的问题就是搭建环境了。好久没搭建环境又踩了不少坑,appium的环境搭建比较繁琐,好多同行估计都在环境上被卡死了。所以特此分享一下~~

  appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python。而且现在招聘要求也需要这项技能。还有就是5G时代的到来。各种app借力丛生。所以我们必须掌握这项技能。宏哥擅长Python,所以接下来的教程是appium+python的实例。

  学习appium最大的难处在于环境的安装和搭建,80%的人死于环境安装和搭建,然后就没然后了;10%的人被环境折腾的死去活来,最后夭折;只有剩下的10%人品好,可以顺利安装,一步到位。

一、环境准备

想要和宏哥搭建一样的环境,需要安装包的童鞋可以:(1)扫码关注宏哥公众号,发送:appium环境全家桶,即可下载;(2)直接在微信搜索:“北京宏哥”,关注宏哥公众号,发送:appium环境全家桶,即可下载。

 1、宏哥的环境是Windows 10版本 64位系统(32位的同学自己想办法哦)

    2、1.8.0_181 (64位)

    3、android-sdk_r24.3.4-windows

    4、python:3.7

    5、appium:1.4.16.1

    6、Node.js:node-v10.16.0-x64

    7、Appium-Python-Client

二、jdk安装

    1、下载jdk包,小编的是64位1.8版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本

    2、一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下

    3、设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”

(1)JAVA_HOME----D:\software\Java\jdk1.8.0_181” (根据自己安装路径填写)

(2)CLASSPATH--- .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

(3)PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在path路径下加上面那两个,这里就不多说了

    4、打开cmd验证是否安装成功,输入java -version,然后输入javac

能显示版本号和下面的帮助信息说明安装成功

三、android-sdk下载安装

    1、下载android-sdk,这个是做android测试和开发的必备环境,如果不会下载的话,可以找我要,后期建个群或将其上传上去

  好多人都是直接下载Android Studio,但是如果只是做自动化的话只需要下载Android SDK就行了。

      下载地址:http://tools.android-studio.org/index.php/sdk/(推荐使用)

    2、解压后,里面有个SDK manager.exe双击打开

    3、勾选你要下载的API版本和对应的android版本,后面模拟器会用到(不下载用其它模拟器也行,或者真机),然后坐等下载。安装Tools下的Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以选择是否更新,建议直接更新。镜像:随便选个版本也可以选择多个版本安装,我喜欢直接连接真机进行,由于镜像比较大,所以喜欢真机的朋友们可以不下载镜像,GoogleFQ安装:Extras文件夹下所有的全部安装。

四、android-sdk环境变量

    1、在系统变量新建:ANDROID_HOME,对应变量值为:D:\software\android-sdk-windows(sdk安装路径)

    2、path添加两个变量,将以下箭头所指的两个文件路径添加到path里

    3、path里面添加D:\software\android-sdk-windows\tools和D:\software\android-sdk-windows\platform-tools,或者%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

五、adb环境

    1.因为adb是在D:\software\android-sdk-windows\platform-tools这个目录下的,所以上面添加了环境变量后,可以直接在cmd里面运行了。

   2.在cmd输入adb可以查看对应版本号

六、连接手机

    1.手机用数据线连电脑,如果安装了91助手或者360什么的可以先下载手机驱动,确认手机能连上

    2.打开cmd输入:adb devices,当屏幕上出现一串字符,后面显示devices说明连接成功(出现其它的提示,得检查自己的环境了)

到这里android的测试开发环境已经装好了,下一篇会教搭建搭建appium环境。安装过程中遇到各种奇葩问题,请卸载完后,仔细阅读,从第一行开始,一步一步走下来,中间任何一个环境出问题,都会导致最后appium运行失败。

在学习过程中有遇到疑问的,可以加appium(python+appium) QQ群交流:707699217

七、小结

1、搭建编译环境时为什么有时候要设置环境变量,而有时又设置用户变量? 

答:环境变量分为系统环境变量和用户环境变量。 你所说的环境变量是指系统环境变量,对所有用户起作用 。而用户环境变量只对当前用户起作用。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python五子棋程序实现详解

Python五子棋程序实现详解 引言功能实现显示棋盘点击落子判断胜负游戏结束判断交替落子 运行结果完整代码总结 引言 五子棋是一种广泛传播的策略棋类游戏,两人对弈,通过在棋盘上落子,以先形成连续的相同颜色的五子棋为胜利条件。本文将介绍如…

JavaScript基础知识点总结:从零开始学习JavaScript(四)

学习目标: 掌握函数的基本使用,让代码具备复用能力 理解封装的意义,能够具备封装函数的能力 学习内容: 函数 综合案例 学习时间: 周一至周五晚上 7 点—晚上9点周六上午 9 点-上午 11 点周日下午 3 点-下午 6 点 学…

【零成本实现接口自动化测试】Java+TestNG 测试Restful service

接口自动化测试 – JavaTestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, 数据分离,JavaMavenTestNG 本文主要介绍如何用Java针对Restf…

金蝶云星空反写规则表结构同步另一个数据库

文章目录 金蝶云星空反写规则表结构同步另一个数据库在BOS找到《反写规则》的表反写规则相关表创建反写规则,或者已经创建好的反写规则定位反写规则数据导出表数据执行脚本BOS导入数据库直接执行 金蝶云星空反写规则表结构同步另一个数据库 在BOS找到《反写规则》的…

k8s 网络

还没有部署网络。 k8s的网络类型: k8s中的通信模式: 1,pod内部之间容器和容器之间的通信。 在同一个pod中的容器共享资源和网络,使用同一个网络命名空间。可以直接通信的。 2,同一个node节点之内不同pod之间的通信。…

香橙派5plus从ssd启动Ubuntu

官方接口图 我实际会用到的就几个接口,背面的话就一个M.2固态的位置: 其中WIFI模块的接口应该也可以插2230的固态,不过是pcie2.0的速度,背面的接口则是pcie3.0*4的速度,差距还是挺大的。 开始安装系统 准备工作 一张…

开源轻量级分布式文件系统FastDFS本地部署并实现远程访问服务器

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

算法学习系列(十三):Trie树

目录 引言一、Trie概念二、Trie树模板三、例题 引言 这个Trie还是比较有用的,主要的功能就是高效的存储和查找字符串的数据结构。 一、Trie概念 假设这个Trie只存储小写字母的话: 这个大概就是这么个概念,就是头结点是0号,然后…

使用腾讯云轻量应用服务器基于SRS搭建个人直播间

使用腾讯云轻量应用服务器基于SRS音视频服务器应用模板镜像即可一键搭建个人直播间,SRS Stack让你一键拥有自己的视频云解决方案,可以在云上或私有化部署,支持丰富的音视频协议,提供鉴权、私人直播间、多平台转播、录制、虚拟直播…

js中变量的使用

文章目录 一、变量二、声明三、赋值四、更新变量五、声明多个变量(不推荐)六、变量的本质七、关键字八、变量名命名规则 一、变量 理解变量是计算机存储数据的“容器”,掌握变量的声明方式 白话:变量就是一个装东西的盒子。通俗:变量是计算机…

【MySQL学习笔记007】约束

1、概述 (1)概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 (2)目的:保证数据库中数据的正确、有效性和完整性。 (3)分类 约束 描述 关键字 …

ZStack Cube超融合一体机助力电子支付企业升级改造

电子支付服务企业实壹信息通过ZStack Cube超融合一体机为业务生产环境构建新一代云基础设施,结合V2V迁移模块实现ZStack社区版云平台应用迁移到全新的云基础设施ZStack Cube 超融合一体机上,同时共享分布式存储和外接FC-SAN存储。此外,运维人…

Android 8.1 设置USB传输文件模式(MTP)

项目需求,需要在电脑端adb发送通知手机端接收指令,将USB的仅充电模式更改成传输文件(MTP)模式,便捷用户在我的电脑里操作内存文件,下面是我们的常见的修改方式 1、android12以下、android21以上是这种方式…

Elasticsearch:在不停机的情况下优化 Elasticsearch Reindex

实现零停机、高效率和成功迁移更新的指南。更多阅读:Elasticsearch:如何轻松安全地对实时 Elasticsearch 索引 reindex 你的数据。 在使用 Elasticsearch 的时候,总会有需要修改索引映射的时候,遇到这种情况,我们只能做…

go语言,ent库与gorm库,插入一条null值的time数据

情景介绍 使用go语言,我需要保存xxxTime的字段至数据库中,这个字段可能为空,也可能是一段时间。我采取的是统一先赋值为空,若有需要,则再进行插入(需要根据另一个字段判断是否插入) 在我的数据…

PTS 3.0:可观测加持的下一代性能测试服务

作者:肖长军(穹谷) 大家好,我是来自阿里云云原生应用平台的肖长军,花名穹谷,我此次分享的主题是《可观测加持的下一代性能测试服务》。提到性能测试大家并不陌生,性能测试已成为评估系统能力、…

使用rsync构建镜像网站

实验环境 某公司在深圳、北京两地各放置了一台网站服务器,分别应对南北大区内不断增长的客户访问需求,两台服务器的网站文档必须保持一致,如图12.3所示,同步链路已通过VPN专用线路实现。 需求描述 > 服务器 A(北京…

SpringBoot多线程与任务调度总结

一、前言 多线程与任务调度是java开发中必须掌握的技能,在springBoot的开发中,多线程和任务调度变得越来越简单。实现方式可以通过实现ApplicationRunner接口,重新run的方法实现多线程。任务调度则可以使用Scheduled注解 二、使用示例 Slf…

linux如何清理磁盘,使得数据难以恢复

sda 是硬盘,sda1 和 sda2 是硬盘的两个分区。centos-root 是一个逻辑卷,挂载在根目录 /。 /dev/sda 是硬盘,/dev/sda1 和 /dev/sda2 是硬盘的两个分区。 [rootnode2 ~]# dd if/dev/urandom of/dev/sda bs4M这个命令将从 /dev/urandom 读取随…

【软件工程大题】数据流图_DFD图_精简易上手

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输人移动到输出的过程中所经受的变换。 首先给出一个数据流图样例 基本的四种图形 直角矩形:代表源点或终点,一般来说,是人,如例图的仓库管理员和采购员圆形(也可以画成圆角矩形):是处理,一般来说,是动作,是动词名词的形式…