appium很早就了解了,一直没有之际操作过,最近把官网的demo搞下来执行了一遍,还是很有意思的

经过测试是可以跑起来的,不过跑得过程中,输入法需要默认为英文的,如果是中文的码输入的时候有点问题,可以自行体验

import os
from selenium import webdriver # Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
"""
desired_caps = {}
desired_caps['automationName'] = 'Appium'
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'sunx'
desired_caps['version'] = '4.4.2'
desired_caps['app'] =PATH('D:\\ContactManager.apk')
desired_caps['appPackage'] = 'com.example.android.contactmanager'
desired_caps['appActivity'] = '.ContactManager'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) el = driver.find_element_by_name("Add Contact")
el.click() textfield = driver.find_element_by_id("com.example.android.contactmanager:id/contactNameEditText").send_keys("testest")
textfield = driver.find_element_by_id("com.example.android.contactmanager:id/contactPhoneEditText").send_keys("188888888") driver.find_element_by_name("Save").click() driver.quit()

首先是环境配置,网上搜下

然后是启动

输入appium,启动appium服务

然后执行上面的脚本,脚本要注意app的位置,以及初始化中的个参数需要与本机对应

ps:apppackage和activity,怎样获取呢?android有现成的工具,就是他!aapt

adt-bundle-windows-x86-20140321\sdk\build-tools\android-4.4.2这个目录下的aapt.exe

写个例子:

aapt dump badging D:\yourapp.apk,然后查找,我把参数用删除线标记了,填上去就ok了

package: name='com.ma.huoying' versionCode='' versionName='1.0'
sdkVersion:''
application-label:'鐏奖蹇嶈€?
application-icon-160:'res/drawable-hdpi/browser.png'
application-icon-240:'res/drawable-hdpi/browser.png'
application-icon-320:'res/drawable-hdpi/browser.png'
application-icon-480:'res/drawable-hdpi/browser.png'
application: label='鐏奖蹇嶈€? icon='res/drawable-hdpi/browser.png'
application-debuggable
launchable-activity: name='com.ma.huoying.MainActivity' label='鐏奖蹇嶈€?
icon=''
uses-permission:'android.permission.INTERNET'

元素定位:

appium的元素定位,一般就可以使用adt-bundle-windows-x86-20140321\sdk\tools\uiautomatorviewer.bat

这个工具来查看层级关系,通过xpath定位或者id神马的,具体看app情况吧

appium 执行demo的更多相关文章

  1. appium跑demo简单实例讲解

    安装appium,设置 demo.pyfrom appium import webdriver #要装webdriver,方法查看http://www.cnblogs.com/sincoolvip/p ...

  2. wav2midi 音乐旋律提取算法 附可执行demo

    前面提及过,音频指纹算法的思路. 也梳理开源了两个比较经典的算法. https://github.com/cpuimage/shazam https://github.com/cpuimage/Aud ...

  3. 第一个appium的Demo

    原文来自:一颗糖果  http://www.cnblogs.com/linglingyuese/articles/8418311.html 一.环境搭建 略(后期补) 二.创建一个测试apk包的项目 ...

  4. appium 计算器demo

    需要修改的是 platformVersion deviceName demo: #coding=utf- from appium import webdriver import time desire ...

  5. appium ios Demo

    Appium Demo 录制图片,环境搭建完毕后根据视频基本能利用模拟器完成简单测试用例 感谢大神http://www.cnblogs.com/tobecrazy/p/4970188.html

  6. Quartz定时调度jar包的执行Demo分享

    1.Quartz简介 ​ Quartz框架的核心是调度器.调度器负责管理Quartz应用运行时环境.调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件.Quartz不仅仅是线程和线程管理. ...

  7. appium执行iOS测试脚本并发问题

    appium1.4.X+iOS9.X+xcode7.X: appium1.4.x+iOS9.x+xcode7.x,这一整套的配置做移动端自动化测试是测试人员常用的测试框架.关于,这一套测试框架的并发问 ...

  8. appium python demo

    #coding=utf-8from appium import webdriverdesired_caps={}desired_caps["platformName"]=" ...

  9. java多线程并发执行demo,主线程阻塞

    其中有四个知识点我单独罗列了出来,属于多线程编程中需要知道的知识: 知识点1:X,T为泛型,为什么要用泛型,泛型和Object的区别请看:https://www.cnblogs.com/xiaoxio ...

随机推荐

  1. CentOS x64上Matlab R2015b的镜像安装方法与卸载

    0. 原料 (1). CentOS_x64系统 CentOS 2.6.32-573.el6.x86_64 (2). Matlab  R2015b_glnxa64.iso,可以从百度网盘下载到:链接: ...

  2. Web前端开发规范手册

    一.规范目的 1.1  概述 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发.  ...

  3. [高斯消元] POJ 2345 Central heating

    Central heating Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 614   Accepted: 286 Des ...

  4. 【图像处理】【SEED-VPM】1.板子基本操作流程

    >>>>>>>>>>>>>>>>>>>>>>>>> ...

  5. hadoop运行原理之Job运行(五) 任务调度

    接着上篇来说.hadoop首先调度辅助型task(job-cleanup task.task-cleanup task和job-setup task),这是由JobTracker来完成的:但对于计算型 ...

  6. 如何理解和熟练运用js中的call及apply?

    改变this指向 要先明白存在call和apply的原因,才能记得牢一点: 在javascript OOP中,我们经常会这样定义: function cat(){ } cat.prototype={ ...

  7. OpenLDAP安装

    参考: http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%85 ...

  8. clistctrl失去焦点高亮显示选中行

    clistctrl失去焦点高亮显示选中行 响应两个消息 NM_SETFOCUS,NM_KILLFOCUS void CDatabaseParseDlg::OnNMKillfocusListGroup( ...

  9. string的实现

    面试常常用到string类的实现,自己总结了一下: #pragma once #include <iostream> #include <cassert> #include & ...

  10. int->string-------------c

    void intToString(int n,char a[]){ int i=1,m=n; while((n/=10)!=0)  i++; int j=0; for(;j<i;j++){  a ...