一、Android启动app
 
python启动脚本如下:
 
from appium import webdriver
 
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4'
#desired_caps['app'] = os.path.abspath('/Users/a58/Downloads/zhuanzhuan_market_923.apk')
desired_caps['appPackage'] = 'com.wuba.zhuanzhuan'
desired_caps['appActivity'] = '.presentation.view.activity.LaunchActivity'

wd = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

 
说明:
1.appium通过webdriver.Remote()传递appium的server地址和启动的client信息desired_caps
2.server的格式“http://serverip地址:4723/wd/hub”
3.desired_caps是一个字典格式,包含platformName等
 
各项介绍如下:
|`platformName`|你要测试的手机操作系统|`iOS`, `Android`, 或 `FirefoxOS`|
|`platformVersion`|手机操作系统版本|例如: `7.1`, `4.4`|
|`appPackage`| 你想运行的Android应用的包名|比如`com.example.android.myApp`, `com.android.settings`|
|`appActivity`| 你要从你的应用包中启动的 Android Activity 名称。它通常需要在前面添加 `.`  (如:使用`.MainActivity` 而不是 `MainActivity`) |`MainActivity`, `.Settings`|
|`app`|`.ipa` or `.apk`文件所在的本地绝对路径或者远程路径,也可以是一个包括两者之一的`.zip`。 Appium会先尝试安装路径对应的应用在适当的真机或模拟器上。针对Android系统,如果你指定`app-package`和`app-activity`(具体见下面)的话,那么就可以不指定`app`。 **会与 `browserName` 冲突** |比如`/abs/path/to/my.apk`或`http://myapp.com/app.ipa`|
 
4.Android机上如果安装了要测试的app,可以通过appPackage和appActivity指定要启动的app界面,而不需要app
如果指定了app(apk安装目录),则不用指定appPackage和appActivity。每次都会去重新安装一遍
5.通过[adb devices]来判断真机是否连接到电脑上了(我用的是真机,一定要用数据线连接到电脑上)
 
 
 
全部参数:
automationName:使用哪个自动化引擎,默认是Appium
platformName:使用哪个移动操作系统,iOS Android 或者 FirefoxOS
platform Version: 移动操作系统的版本
device Name:使用的移动设备或者模拟器类型,例如Android Emulator,在ios系统下通过 instruments -s devices命令 返回正确的设备,android的话使用adb devices可以获取设备的id
app: 绝对本地路径或者指向ipa或apk文件,对于android来说如果指定了appPackage和appActivity属性,那么该属性就不是必须的。
browserName:用于自动化测试ide移动Web浏览器,例如ios为Safari,android为Chrome Chromium 或Browser
newCommandTimeout:Appium等待接收从客户端发送的新命令的超时时长,超时后Appium认为客户端已经退出,终止会话。
autoLaunch:是否让Appium自动安装和启动应用,默认为True
language:设置语言
locale:设置位置
udid:所链接物理设备的唯一设备标识符
orientation:指定一个特定的方向
autoWebview:直接进入Webview内容中,默认为false
noReset:在会话前不重置应用状态,默认为false
fullReset:在ios中删除整个模拟器文件夹,在android中ton故宫卸载APP来重置app状态,而不是清楚数据。
 
Appium server capabilities (只针对android)
appActivity:测试人员希望从保重启动的android activity的名称,通常都会加个前缀“ . ”
appPackage:希望运行的android应用的java包,例如com.example.android.myApp
appWaitActivity:希望等待的Android Activity的名称
appWaitPackage:希望等待的Java包的名称
deviceReadyTimeout:等待设备就绪的超时时长,以秒为单位
androidCoverage:完全合格的instrumentation类
enablePerformanceLogging:让Chromedriver的性能日志功能生效,只针对Chrome和Webview,默认为false
androidDeviceSocket:Devtool socket名,只有当待测应用是Chromium embedding browser时才需要,浏览器打开端口,Chromedriver以devtools客户端的方式连接该端口
avd:启动的avd名(android virtual device)
avdLaunchTimeout:等待avd启动和链接到adb的超时时长,单位为毫秒,默认120000
avdReadyTimeout:等待avd完成其开机动画的超时时长,单位为毫秒,默认120000
avdArgs:当启动avd时,用到的其它模拟器参数
useKeystore:使用一个自定义密钥库来签名apk,默认为false
keystorePath:自定义密钥库的路径,默认为~/.android/debug.keystore
keyAlias:key的别名
keyPassword:Key的密码
chromdriverExecutable:指向webdriver executable的绝对本地路径
autoWebviewTimeout:等待webview内容激活的超时时长 ,毫秒单位,默认2000
intentAction:用来启动activity的Intent action(默认为android.intent.action.MAIN)
unicodeKeyboard:启用Unicode输入,默认为false
ignoreUnimportantViews:调用函数uiautomator()和setCompressedLayoutHierarchy(),该属性可以加速测试执行,原因在于Accessibility命令忽略某些元素时运行更快,忽略的元素无法找到,默认false
 
Appium server capabilities (只针对iOS)
calendarFormat:设置ios模拟器的日历格式
bundleID:待测应用的bundleID
udid:所连接的物理设备的唯一的设备标识符
launchTimeout:在假定instruments已经挂掉了并终止会话前的超时时长,单位为毫秒
locationServicesEnabled:(只针对模拟器)强制打开或者关闭位置服务,默认保持当前设置
locationServicesAuthorized:(只针对模拟器)通过plist授权设置位置服务或者不授权设置位置服务,这样位置服务警告框就不会弹出,默认保持当前设置,注意如果使用了该设置,则必须同时使用bundleid属性
autoAcceptAlerts:遇到弹出的ios隐私访问权限警告时自动接受,默认为false
autoDismissAlerts:弹出ios隐私访问权限警告,自动解除,默认false
nativeWebTap:在Safari中,启用真实的 非基于javascript的web单击,默认false
safariInitialUrl:初始化safari url,默认是本地欢迎页面
safariAllowPopups:在safari中允许javascript打开新窗口
safariIgnoreFraudWarning:阻止safari显示一个欺诈性网站的警告
safariOpenLinksInBackground:safari是否允许在新窗口中打开链接
keepKeyChains:在appium会话启动和终止时,是否保存keychains
interKeyDelay:打字时发送到某个元素的按键敲击之间的时长,以毫秒为单位
showiOSLog:是否在Appium日志中显示任何从设备捕获的日志
screenshotWaitTimeout:等待截屏产生的最大超时时长,单位为秒,默认10
waitForAppScript:用来判断应用是否已经启动,ios自动化测试脚本,默认情况下系统等待页面源码不为空,结果是布尔值
 
 

appium启动APP配置参数:的更多相关文章

  1. appium启动app(ios)

    Appium启动APP至少需要7个参数 ​ 'platformVersion','deviceName'.'udid'.'bundleId'.'platformName'.'automationNam ...

  2. appium启动app(android)

    android ​ Appium 启动APP至少需要5个参数 ​ 'platformVersion','deviceName'.'appPackage'.'appActivity'.'platform ...

  3. MongoDB启动文件配置参数详解

    接手的MongoDB只有一个日志文件,体积非常大,排错不便.在找解决办法的时候发现MongoDB的启动文件配置项超级多,于是产生了解释配置参数的想法. mongod服务有两种启动方式 一种是通过配置文 ...

  4. android的数据与访问(1)-我的app配置参数文件放在哪儿?

    系统提供数据处理方式: 1.SharedPreferences 2.文件存储 3.轻量级的数据.如SQLLite 1.简单存储 是android提供的起来年纪的数据存储方式:SharedPerence ...

  5. Appium启动app

    首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法很多,这里就不一一多说,小伙伴们可以各显神通.小编这里主要给大家推荐一个sdk自带的实用工具aapt. aapt即An ...

  6. appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote

    图中1的获取--'platformName'.'platformVersion' 点击appium右上角的运行按钮,可通过上面查看platformName 和 platformVersion 平台版本 ...

  7. mysql 5.6 rpm安装启动、配置参数、字符集修改等

    linux 7 安装mysql server 注意:此mysql版本是el6 MySQL-server-5.6.35-1.el6.x86_64 一.安装部署: 1.yum:首先要配置yum源,yum安 ...

  8. appium启动APP时避免重新安装的问题

    from appium import webdriverfrom time import sleepimport os #获取apk的绝对路径desired_cups = {}#设备平台desired ...

  9. android的数据与访问(2)-delphi xe7如何存取我的app配置参数文件?

    这种方法不推荐,因为该SharedPreference是android的方法.你想跨平台,在ios上就不能使用.建议还是用ini or xml.android因为读写该二种文件比较繁琐,所以推出自己简 ...

随机推荐

  1. 【浏览器-Safari-网页开发指南】官方Sarari开发指南译文

    Safari是一个功能比较完整的浏览器.它支持所有按照W3C标准HTML,CSS,Javascript开发的网页. 当然,让网站正常访问只是我们的初级目标.开发者应该致力于给用户提供更好的用户体验.比 ...

  2. 数据库——MySQL——事务

    数据的事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行. 事务必须具备四个特性: 原子性 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚 一致性 在事务T开始时, ...

  3. NAT和DHCP

    涉及的命令 NAT 动态NAT清除:clear ip nat translation * 进入路由器环回接口:int loo 0 静态NAT清除: (config)#No ip nat inside ...

  4. luajit 64位 for cocos2dx 编译ios解决方法

    最近luajit发布了64位beta版,由于appstore上线必须是64位的应用,而且我的游戏项目用到lua脚本,所以必须要用到64位的luajit来编译lua脚本. 方法如下: 在luajit官网 ...

  5. 『ACM C++』 PTA 天梯赛练习集L1 | 052-053

    今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...

  6. 可能是catalan数吧

    What's the number of distinct BSTs containing nodes {1, 2, 3 ,4}? 包含节点{1,2,3,4}的不同二叉搜索树有多少棵? int Num ...

  7. CentOS7 使用chrony搭建集群中的时间同步服务

    一.集群环境: 系统:CentOS7-minimal 集群中的两台主机ip:10.132.226.103/24  10.132.226.104/24 二.CentOS7中时间相关命令timedatec ...

  8. MySQL语句整理(二)

    数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- use python_test_1; -- ...

  9. ajaxSubmit 在ie9或360兼容中,form下是空的

    解决办法:在<head>....</head>中加入<meta http-equiv="X-UA-Compatible" content=" ...

  10. openstack之kvm常用操作

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理. 1.   查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录 ...