一.引言

众所周知在App应用开发时我们会有不同的服务器环境来进行开发调试,例如测试环境,预发布环境,正式服环境.由于环境众多所以在测试工程师反馈问题时总要不断的去登录不同的服务器环境进行验证和调试。
流程如下:

  1. 打开应用
  2. 登录界面输入不同环境的账户密码
  3. 登录验证

通过这三部才能进入App中进行调试。这三部的过程的执行重复率非常高,作为程序与我们能不能通过程序简化人工的操作呢?笔者将在本文中通过分析和实践来实现这一功能。

二.Appuim的安装和配置

对于Android手机屏幕的自动化控制有很多种方案。本文中将选择appuim来进行实现。

1.安装JDK环境和Android环境

安装配置appuim首先需要配置好JDK环境和Android Sdk环境。这两点不必多说,网上面大把的相关教程。

2.安装appium环境

下载appium-desktop文件,点击进行安装。

3.配置appium

  1. 安装好appium,打开程序,需要进行配置,host与port默认即可.
  2. 配置JDK环境和Android Sdk环境。

    填写Android_home及Java_home后,Save and Restart,
  3. 重启以后回到主界面,点击Start Server vX.X.X按钮。进入控制台日志界面,看到Appium REST http interface listener started on 0.0.0.0:4723就表示启动成功了。
    接着点击“start inspector session”进行配置。
  4. 配置inspector

    重点是要配置相关参数可以通过键值对进行配置也可以通过右侧的Json文件进行配置:
  • platformName:声明是ios还是android系统
  • platformVersion:Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看
  • deviceName:连接的设备名称,通过命令adb devices -l中model查看
  • appPackage:apk的包名
  • appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)

Json配置文件示例:
{
“platformName”: “Android”,
“platformVersion”: “8.0.0”,
“appPackage”: “com.example.myapplication”,
“appActivity”: “.MainActivity”
}

  1. 配置完成以后点击start session按钮,进入到操作面板功能中。

三.使用appuim的录制功能生成自动化代码

生成的自动化代码脚本有很多语言可以选择,当然人生苦短我选Python。

基本制作步骤

  • 开始录制
  • 选择控件
  • 对目标控件进行操作。
  • 停止录制
  • 切换脚本到具体工具可执行模式
  • 拷贝脚本到其他工具中执行

四.Python执行appuim生成的自动化脚本

  1. 首先通过Pip安装Selenium依赖库。
pip install Appium-Python-Client Selenium
  1. 编写Python脚本,将上一步生成的Python自动化脚本复制进来。
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC# appium服务监听地址
server='http://localhost:4723/wd/hub'
# app启动参数
desired_caps={"platformName": "Android","deviceName": "HWEVA","appPackage": "com.tencent.mm","appActivity": ".ui.LauncherUI"
}# 驱动
driver = webdriver.Remote(server,desired_caps)
wait = WebDriverWait(driver,30)
# 获取手机号文本框
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.xxx.mm:id/phone")))
# 填写手机号文本框
phone_text.send_keys("18888888888")# 获取手机号文本框
pwd_text = wait.until(EC.presence_of_element_located((By.ID,"com.xxx.mm:id/pwd")))
# 填写手机号文本框
pwd_text.send_keys("123456789")# 获取登录按钮
login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.xxx.mm:id/drp")))
# 点击登录按钮
login_btn.click()

当然Appium-Python-Client继承自Selenium所以使用方法和selenium是很类似的,我们可以通过手写的方式完成脚本的编写.更多api操作见:https://github.com/appium/python-client
3. 执行python脚本,就可以看到,完成了登录功能.需要注意的是使用python脚本来进行appium自动化测试的时候,需要开启appium服务。

五.将Python脚本文件转成window执行文件

1.使用bat脚本执行Python文件

  1. 新建:appuim.bat文件。
  2. 文件内容:
cd F:\appuim
call python appuim.py
  1. 点击appuim.bat文件就能执行调用Python执行appuim.py。

2.将Python脚本打包成.exe文件

打包工具:pyinstaller

  1. 安装 pyinstaller:
pip install pyinstaller

如果因为网络问题无法加载,可以下载源码安装;

  1. 进入cmd下,执行下面命令:
Pyinstaller -F -w C:\Users\WIN10\Desktop\appuim.py --distpath C:\Users\WIN10\Desktop

distpath为打包后目录,在该目录中找到test.exe文件,直接双击即可。

-F 表示生成单个可执行文件。
-w 表示去掉控制台窗口,这在GUI界面时非常有用。
-p 表示你自己自定义需要加载的类路径。
-i 表示可执行文件的图标。

更多打包命令需要参考说明文档,这里不再详细描述。

使用Appuim+Python脚本实现Android应用自动登录相关推荐

  1. android 加固服务器,Python 脚本构建Android APK 自动加固、打渠道包并上传服务器

    Python 脚本构建Android APK 自动加固.打渠道包并上传服务器 常规流程 打出原始apk 使用乐固工具加固并打出响应渠道包 将生成的渠道包上传对应服务器,生成推广链接 因为每一步都需要人 ...

  2. 使用Python脚本实现web页面自动登录

    学习Python语言就是需要学习使用它来解决很多重复性的开发操作,从而解放我们的双手,节省很多重复操作的时间,提高开发效率. 下面我们就用Python脚本来实现一个简单的登录网站的操作. 首页我们需要 ...

  3. python脚本实现GNSS数据自动下载

    python脚本实现GNSS数据自动下载 本文代码思路参考了博文[https://blog.csdn.net/weixin_39672353/article/details/1098525] 在此基础 ...

  4. python脚本连接交换机,自动执行命令。

    python脚本连接交换机,自动执行命令. python脚本连接交换机,自动执行命令,查询交换机端口的学习mac地址,自动写入txt中.设置定时器,每xx秒执行一次,自动对比上次返回结果,TXT中保存 ...

  5. python基础教程:Python如何基于selenium实现自动登录博客园

    这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...

  6. Android studio自动登录和记住密码的实现

    Android studio自动登录和记住密码的实现 文章目录 Android studio自动登录和记住密码的实现 前言 一.效果 二.设计思路 三.知识点介绍 1. SharedPreferenc ...

  7. 利用python+selenium带上cookies自动登录bilibili

    利用python+selenium带上cookies自动登录bilibili 环境 selenium的安装 思路 第一部分:手动登录,保存cookies 第二部分:读取cookies自动登录 环境 环 ...

  8. 用 Python脚本生成 Android SALT 扰码

    发布Android 有偿应用时需要随机生成 SALT 扰码夹在文件中,以下是 Python脚本(当然你选择 C/Java/SHELL/Perl 或别的都行) #!/usr/bin/python # F ...

  9. 一切尽在掌控之中:这个Python脚本,让工作自动向你汇报进度!

    图源:unsplash 笔者经常编写Python脚本来进行数据处理.数据传输和模型训练.随着数据量和数据复杂性的增加,运行脚本可能需要一些时间.在等待数据处理完成时可以同时做一些其他工作. 很多人学习 ...

最新文章

  1. python3入门(三)字典的使用
  2. AD 画图 镜像翻转元器件
  3. 程序员自家种水果,新鲜包邮配送!
  4. python用pip安装numpy mac_小白入门Python,mac下如何安装pip、ipython
  5. 论文浅尝 - AAAI2020 | 基于知识图谱进行对话目标规划的开放域对话生成技术
  6. python import 路径_python import 上级目录的导入
  7. ubuntu 14.04 登录 界面 root
  8. speedtest命令行linux,Linux或者Mac下命令行speedtest测试网络速度
  9. Linux学习总结(35)——CentOS 7.X设置服务开机启动
  10. Linux进阶之给nginx设置登录用户验证
  11. 超级好用的5款办公软件,极具办事效率
  12. 手机离线地图地图数据包教程
  13. 运用nginx和阿里云解析配置二级域名 设置不同端口号
  14. vim时”E575: viminfo: Illegal starting char in line。。。。。。
  15. 无效虚假询盘,如何避免上当?
  16. 软件质量的定义及其六大特性(质量模型)
  17. 如何使用《背景音乐提取器》提取歌曲中的伴奏
  18. 微型计算机的一般工作过程,微型计算机的基本工作原理
  19. 企业邮箱申请流程,申请企业邮箱账号,怎样申请企业邮箱?
  20. unity怪物攻击玩家减血_Unity3D 战斗系统中的怪物简单AI(简单AOI)

热门文章

  1. 看浙商老板的27条创业思维,终于明白马云为什么能这么成功
  2. Photoshop CC 2018 Essential Training: Design Photoshop CC 2018基本培训:设计 Lynda课程中文字幕
  3. 漫谈TCP bufferbloat的根源-Jacobson管道
  4. 波士顿动力机器人解锁跑酷新技能,凭借感知驱动技术适应技能
  5. 英飞凌TC397芯片ASCLIN和MCMCAN模块讲解
  6. IDEA 导入jar包和使用jar包方法
  7. 歌曲欣赏Ol‘Skool Vibes,Pleuso 2247 LE录音
  8. 785nm 600mW 稳波长窄线宽光纤输出半导体激光器模块 YM600NU-785-105FC-PC产品资料
  9. 线上实验6进制加法计数器
  10. 试用74LS194加74151设计一个从Q3端输出100111序列信号的序列信号发生器, 要求能够自启动, 电路越简单越好