当前位置: 首页 > news >正文

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。

转载于:https://www.cnblogs.com/ywqq/p/7685606.html

相关文章:

  • Python expandtabs() 方法
  • js中常见的一些兼容性问题
  • Codeforces Round #367 (Div. 2) (A,B,C,D,E)
  • c#中winform窗口的隐藏与显示
  • luogu P1037 产生数
  • [NOIP2014普及组]子矩阵
  • python中的数据结构
  • 结对编程——四则运算界面化
  • [No000010F]Git8/9-使用GitHub
  • 微信
  • Android连接热点的Socket文件传输
  • JS中的函数知识点
  • 上传第三方jar包至maven私服,以geotools为例
  • Shell记录-Shell命令(find)
  • 上海公积金社保业务办理
  • chrome扩展demo1-小时钟
  • Java知识点总结(JavaIO-打印流)
  • Koa2 之文件上传下载
  • Netty 4.1 源代码学习:线程模型
  • Objective-C 中关联引用的概念
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Spark RDD学习: aggregate函数
  • Spring-boot 启动时碰到的错误
  • SQL 难点解决:记录的引用
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 电商搜索引擎的架构设计和性能优化
  • 基于Android乐音识别(2)
  • 基于游标的分页接口实现
  • 开发基于以太坊智能合约的DApp
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端相关框架总和
  • 试着探索高并发下的系统架构面貌
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​MySQL主从复制一致性检测
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • (+4)2.2UML建模图
  • (11)MSP430F5529 定时器B
  • (3)llvm ir转换过程
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (SpringBoot)第二章:Spring创建和使用
  • (八)Spring源码解析:Spring MVC
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (差分)胡桃爱原石
  • (二十四)Flask之flask-session组件
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (转)平衡树
  • (转)一些感悟
  • .Net Core与存储过程(一)
  • .NET 设计一套高性能的弱事件机制
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NetCore部署微服务(二)