1.安卓环境搭建

&关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装、启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人)

&目前appium环境搭建我还是比较喜欢根据虫师写的,搭建app自动化,之前搭过几次基本没啥问题而且也给出了下载链接 https://www.cnblogs.com/fnng/p/4540731.html

1.1https://nodejs.org/ 下载windows msi文件安装下一步到最后即可(node.js 6.4之前的,不然和下面appium版本冲突)

1.2http://pan.baidu.com/s/1jGvAISu 下载appium 目前以AppiumForWindows_1_4_0_0.zip版本搭建,下载后解决下一步到最后即可

1.3下载sdk   http://dl.google.com/android/android-sdk_r23.0.2-windows.zip   解压后配置环境变量

ANDROID_HOME

%:\android\android-sdk-windows

path

%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

1.4下载platform-tools

http://www.androiddevtools.cn/

1.5 appium放到环境变量里

C:\Program Files (x86)\Appium\node_modules\.bin放入path

2.0安装--注意点

&需要注意,如果appium安装的是1.4.0,那么node.js最好小于6.4.0不然会版本冲突

& 安装  pip  install appium-python-client

3.真机运行

&手机连接电脑--打开 开发者模式--usb调试-

在cmd下查看手机id,我的查询到是 WJX7N17A17001123

adb devices

&命令启动Appium,CMD下输入下面的命令

ip,端口可定义

-U后面写手机的id

 appium -a 127.0.0.1 -p 4723  –U  WJX7N17A17001123 --no-reset 

4.测试脚本,打开app

&需要获取先获取被测APP的appPackage和appActivity两个参数

先把apk放在电脑上

cmd-执行自己的apk目录

aapt dump badging E:\apk\com.eg.android.AlipayGphone.apk 
注意~
sdk下载,可下载最新的,真机运行也需要,不然可能会报错 找不到build-tools

下载sdk源,有可能报错,自定义一个新的sdk库更新--mirrors.neusoft.edu.cn 端口80

脚本调试
# coding:utf-8
from appium import webdriver
import os
import time def setUpa(): desired_caps['appActivity']='com.cardinfolink.yunshouyin.activity.SplashActivity' desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
# desired_caps['platformVersion'] = '7.0' # 设备系统版本
desired_caps['deviceName'] = 'WJX7N17A17001123' # 设备名称 desired_caps['appPackage']='com.eg.android.AlipayGphone' #上面提到获取的参数 desired_caps['appActivity']='com.eg.android.AlipayGphone.AlipayLogin' #上面说到获取的参数 driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep(2)
driver.find_element_by_id('com.alipay.android.phone.openplatform:id/saoyisao_iv').click() #操作和web自动化方法几乎一致
time.sleep(2)
driver.find_element_by_xpath("//android.widget.ImageView[@resource-id='com.alipay.android.phone.openplatform:id/saomafu_iv']").click() driver.quit()

 这样一个demo就写完了~ 下面就靠自己设计自动化框架封装的实现 拉~   这个暂时不说了

5.0模拟器运行

基于上面,模拟器需要的版本以下载,现在需要创建一个模拟器配置参考下虫师的即可

打开模拟器,adb devices 查看是否连接  连接了直接运行脚本需要改下deviceName即可

6.0脚本参数化,简单思路

&参考web自动化的参数化封装关键字即可
注意点,
Appium启动服务和关闭服务可以做成bat处理,然后python调用即可

#写下来似乎和pytest没啥关系,其实参考下pytest实现web自动化,都是一样的操作:https://www.cnblogs.com/Jack-cx/p/9357680.html
#我觉得如果公司主业务不是移动的,不建议做持续集成,必要性不大,甚至不要做app的ui自动化,以接口自动化/性能为主



 



 
 

[python]Appium+python +pytest 实现APP自动化,基于安卓的更多相关文章

  1. appium+python 启动一个app步骤

    询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动APP?1.获取包名:2.获取launcherActivit ...

  2. APP H5 混合自动化使用说明 [基于 Appium+Python 系列]

    背景 前几天接到H5开发人员那边的业务开发需求单,说想将H5接入到自动化系列中,特此记录分享一下. 环境前置准备 手机与电脑USB连接,开启USB调试模式,通过adb devices可查看到此设备. ...

  3. Appium+python自动化20-查看iOS上app元素属性

    前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的 ...

  4. Appium+python自动化20-查看iOS上app元素属性【转载】

    前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版 ...

  5. Appium + python自动化 - 启动app

    各种百度将Appium + python的环境搭建好后,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动app呢?首先要获取包名,然后获取launche ...

  6. Appium+python自动化-查看app元素属性

    本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道 ...

  7. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

    前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

  8. appium+python自动化46-安装app三种方式

    前言 adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb ins ...

  9. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】

    前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

随机推荐

  1. aws中centos登陆连接设置

    第一步:使用aws密钥文件(.pem)登陆(*在shell中需使用新建的会话,不能直接,使用原来的会话进行修改,否则无法进入) 点击浏览器,点添加,再点击导入,选择.pem 文件 第二步: 登陆后,使 ...

  2. hdu5909-Tree Cutting【FWT】

    正题 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5909 题目大意 给出\(n\)和\(m\)(\(m=2^k\)).再给出一个大小为\(n\)的树 ...

  3. c++ class里面成员和分配内存问题

    慢慢开始学c++啦,记录学习的大体过程 class中神奇的内存(sizeof) 1.内存补齐 便于管理类(生成的对象)的内存,类总内存总是为最大成员字节大小的倍数,不足的会进行内存补齐 类的整体内存就 ...

  4. 【C++ Primer Plus】编程练习答案——第9章

    1 // chapter09_golf.h 2 3 #ifndef LEARN_CPP_CHAPTER09_GOLF_H 4 #define LEARN_CPP_CHAPTER09_GOLF_H 5 ...

  5. 使用CEF(三)— 从CEF官方Demo源码入手解析CEF架构与CefApp、CefClient对象

    在上文<使用CEF(2)- 基于VS2019编写一个简单CEF样例>中,我们介绍了如何编写一个CEF的样例,在文章中提供了一些代码清单,在这些代码清单中提到了一些CEF的定义的类,例如Ce ...

  6. centos8安装MySQL8——通过yum

    centos8上通过yum安装MySQL,过程简单,不易出错 1.检查系统是否已安装MySQL相关,如果有则全部清除干净 #列出MySQL相关的安装包 rpm -qa | grep mysql #依次 ...

  7. SAE助力南瓜电影7天内全面Severless

    作者:李刚(寻如),阿里云解决方案架构师 南瓜电影APP是国内领先的专注于影视精品化运营的垂直类视频产品,在移动互联网.IPTV.OTT等客户端,面向广大中产阶级精英群体,提供有异于院线及其他视频平台 ...

  8. linux主机互信操作

    一.主机互信原理两个主机之间ssh登录需要提示输入对方的密码,当频繁需要登录操作时,可以通过linux公钥和秘钥,建立双机信任关系.把你源主机的公钥文件内容追加到目的主机对应用户下的authorize ...

  9. 基于linux在线预览

    1.Libreoffice安装 在服务器上安装Libreoffice,在这里就不多说了, import os import sys import subprocess import re def co ...

  10. 好奇!仅 13kB 大小的游戏,源码长啥样?

    这个马赛克风格的表情正好 13Kb,有人竟然能用一个表情大小的空间,制作个游戏出来.我就不信这么点的地儿,能写出个花来?游戏能好玩吗?因为这些游戏点开就能玩,我抱着试一试的心态把玩了一会. 事实证明是 ...