一、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自动化测试脚本,默认情况下系统等待页面源码不为空,结果是布尔值    

转载于:https://www.cnblogs.com/yc-c/p/9014259.html

更多相关文章

  1. Android 获取手机的IMEI等设备信息
  2. Android长度单位详解(dp、sp、px、in、pt、mm、dip)
  3. adb devices 找不到设备的解决方法
  4. android 模拟器不能上网问题
  5. Android——禁止设备休眠
  6. Android 存储设备管理 -- Vold

随机推荐

  1. Android的几种布局方式
  2. PPS 推出 Android(安卓)版,用手機、平板電
  3. Android平板上开发应用的一点心得——精
  4. Android活跃用户总数达14亿人 平均每4个
  5. Android仿淘宝首页UI(附代源代码及示例图
  6. Android实习生面试记录-蘑菇街、网易等
  7. Android平板上开发应用的一点心得——精
  8. [置顶] 从源码角度分析Android(安卓)View
  9. Android的盈利方式---学习别人的经验
  10. 发布应用到Android市场 -- Android(安卓)