2019独角兽企业重金招聘Python工程师标准>>>

appium+Python真机运行测试demo的方法 博客分类: 测试

appium+Python真机运行测试demo的方法

一,    打开手机的USB调试模式

二,    连接手机到电脑

将手机用数据线连接到电脑,并授权USB调试模式。查看连接的效果,在cmd下运行命令:adb devices查看UDID,如下图所示:

如果有输出,就表示连接成功。

三,    启动Appium服务

方法一:cmd命令行启动

根据查到的UDID启动appium服务,运行命令:

#>appium -a 127.0.0.1 -p 4723  –U  6207febc --no-reset

-U 参数后面跟的一串字符就是手机的UDID,这个是通过第二步查到的。

当程序输出如上图信息的时候,表示appium启动成功,此时便可以运行测试脚本了。

方法二:appium界面启动

四,    测试脚本的编写及运行

真机运行的测试脚本与模拟器上几乎是相同的,就是有些儿配置不太一样。具体脚本demo如下demo.py:

#! /usr/bin/env python
#coding=utf-8
import os
import time
import unittest
from selenium import webdriver
from lib2to3.pgen2.driver import Driver
from lib2to3.tests.support import driver

PATH=lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p))

desired_caps = {}
desired_caps['platformName'] = 'Android'  #设备系统
desired_caps['platformVersion'] = '5.1.2'  #设备系统版本
desired_caps['deviceName'] = 'Lenovo P1c72'  #设备名称

desired_caps['app'] = PATH('C:\\Users\\LENOVO\\Desktop\\StarZone_V2.0.0.apk') 
#desired_caps['appPackage'] = 'com.xiangchao.starspace'  
#desired_caps['appActivity'] = 'com.xiangchao.starspace.activity.SplashActivity'

#如果设置的是app在电脑上的路径,则不需要配appPackage和appActivity,同理反之

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)  #启动app

time.sleep(5)  #启动app时,需要一定时间进入引导页,所以必须设置等待时间,不然下面会一直报错定位不到元素
driver.find_element_by_id('com.xiangchao.starspace:id/skip').click()

driver.quit()

另开一个cmd窗口,运行测试脚本(python demo.py)即可。此时服务端就会有输出,程序在手机上运行。

注:在测试用例运行过程中,正常情况下手机会自动安装Settings和Unlock,有些手机有兼容性问题,Settings和Unlock程序打不开,所以每次运行脚本都会提示安装,按提示允许安装就可以。

Appium的Desired Capabilities是扩展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的:

  • automationName:使用哪种自动化引擎。appium(默认)还是Selendroid?
  • platformName:使用哪种移动平台。iOSAndroid, orFirefoxOS?
  • deviceName:启动哪种设备,是真机还是模拟器?iPhone SimulatoriPad SimulatoriPhone Retina 4-inchAndroid EmulatorGalaxy S4, etc...
  • app:应用的绝对路径,注意一定是绝对路径。如果指定了appPackage和appActivity的话,这个属性是可以不设置的。另外这个属性和browserName属性是冲突的。
  • browserName:移动浏览器的名称。比如Safari' for iOS and 'Chrome', 'Chromium', or 'Browser' for Android;与app属性互斥。
  • udid:物理机的id。比如1ae203187fc012g。

下面这些属性是android平台特定的:

  • appActivity:待测试的app的Activity名字。比如MainActivity, .Settings。注意,原生app的话要在activity前加个"."。
  • appPackage:待测试的app的java package。比如com.example.android.myApp, com.android.settings。

http://www.cnblogs.com/Nefeltari/p/5603163.html

 

 获取Android app的appActivity

网上有写很多方法https://testerhome.com/topics/1030,评论区还有补充

我用的是把apk后缀改为zip格式,打开压缩包后再打开AndroidManifest.xml文件。找到manifest和activity地方,就是包名跟activity名。

转载于:https://my.oschina.net/xiaominmin/blog/1597072

appium+Python真机运行测试demo的方法相关推荐

  1. XCode - 无法对iPhone真机调试的解决方法!

    XCode - 无法对iPhone真机调试的解决方法! 参考文章: (1)XCode - 无法对iPhone真机调试的解决方法! (2)https://www.cnblogs.com/sunylat/ ...

  2. Appium连接真机(有线连接)

    Appium连接真机(有线连接) 测试机型为鸿蒙系统的华为手机,模拟器为MUMU. 文章目录 Appium连接真机(有线连接) 一.真机配置 二.电脑操作 提示:以下是本篇文章正文内容,下面案例可供参 ...

  3. appium ios 真机自动化环境搭建

    近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...

  4. appium -ios 真机连接 环境搭建

    补充点一: 安装ios-deploy npm install -g ios-deploy 安装不了报错.! 后来找了找,发现sudo npm install -g ios-deploy --unsaf ...

  5. Java平台下使用Appium测试(真机而非模拟机)

    准备: ①下载安装Java的jdk包,资源链接及教程:https://zhuanlan.zhihu.com/p/76725836 ②下载安装 node.js; ③下载 Appium,下载安装之后桌面会 ...

  6. appium IOS真机测试

    看了 http://blog.csdn.net/today520/article/details/36378805 的文章,终于在真机上面测试成功. 由于没有开发者账号,不能发布应用到机器上面.所以就 ...

  7. 分享移动端真机调试几种方法(更新中)

    最新更新请参考移动端真机调试 文章目录 安卓 浏览器场景 X5内核类 IOS windows调试ios MAC调试ios 跨平台通通用JS 注入类 Vconsole Eruda weinre 拓展 E ...

  8. Appium连接真机

    一.获取真机信息 数据线连接真机和电脑,手机--设置--关于手机--版本号(连续点4次)--开发者模式开启--USB调试开启,选择模拟位置信息应用--appium settings ,选择调试应用-- ...

  9. iOS真机调试出错解决方法

    以下为本人在iOS开发过程中真机调试时遇到过的几种报错,并附上相应的解决方法. 1.process launch failed:Security 原因: 未对应用程序授权. 解决方法: 需要给程序添加 ...

最新文章

  1. [ZZ]好的测试应该具备哪些特质?
  2. android internet参数传递
  3. 常见数据结构的 Python 实现(建议收藏)
  4. 狂妄之人怎么用计算机弹,【B】 Undertale Sans战斗曲 MEGALOVANIA狂妄之人
  5. php中fread()函数,php fread()函数
  6. xamarin和mysql_Xamarin.Android 使用 SQLiteOpenHelper 进行数据库操作
  7. 用CPU计时器统计CUDA核函数的运行时间
  8. Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库
  9. sqlserver2012安装教程
  10. [BJ2006] 狼抓兔子
  11. Macbook怎么开启三指移动 ForceTouch TrackPad开启三指移动方法
  12. 示波器在Multisim仿真中如何看信号周期频率
  13. xss.haozi.me通关记录
  14. Flutter第3天--基础控件(上)
  15. 咖啡壶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. 如何制作公众号首图?教你一键套用图片模板
  17. 产品经理入门03:需求评审和技术评审
  18. js 公历日期转农历带节假日
  19. win7计算机无法连接投影仪,win7系统无法连接投影仪的解决方法
  20. vue循环后不能下滑_Vue 循环后的数据更改无法响应。

热门文章

  1. R语言安装ccgarch_R语言基于ARMA-GARCH过程的VaR拟合和预测
  2. linux启动参数怎么传给内核,如何启动内核(vivi与Linux kernel的参数传递情景分析)...
  3. c程序设计语言1-10答案,C语言程序设计试卷及答案_1(10页)-原创力文档
  4. 队列消息在html中怎么排列,Redis实现消息队列
  5. Android单元测试读写文件,xml-如何为android单元测试提供数据文件
  6. mysql存储过程实例实现查询_Mybatis应用mysql存储过程查询数据实例
  7. html表格制作应该注意什么软件,html表格制作
  8. daemonset怎么读_DaemonSet 与 StatefulSet的使用
  9. android kotlin log,Kotlin实现Log打印工具类
  10. python扫雷算法_python实战教程之自动扫雷(自己存下来学习之用)