码迷,mamicode.com
首页 > 移动开发 > 详细

appium 初探

时间:2017-09-27 11:44:12      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:案例   理解   des   splay   连接   子类   adb   col   edit   

  appium服务端:

  appium 可以简单的理解为一个由node搭建的一个服务。这个服务接收请求,将这些请求转为手机指令,执行指令并获取结果,返回给调用方。所以不在乎你的脚本是用什么语言实现的,只要符合appium的调用规范即可。

  appium客户端:

  解析看了下python的appium的代码,appium的webdriver是继承了selenium的webdriver.remote,所以大部分的selenium的调用语法在这里是可以通用的,只是在在自webdriver的子类中扩展了一些手机元素操作的方法,例如:find_element_by_android_uiautomatord。

    appium实战:

  案例:以真机(android)操作手机打开淘宝,进行商品搜索  

  1、手机设置为开发调试模式,数据线连接手机和电脑。

  2、命令行中输入 appium,启动appium服务

  3、编写脚本:

    • 初始化webdriver,其中appPackage 和appActivity的的信息可以通过adb的方式来拿到,命令行中输入adb logcat >temp.log,再在手机中打开淘宝,在temp.log中搜索Displayed就可以看到对应的package和activity。
from appium import webdriver


desired_caps = {}
#platformName 要测试手机的系统
desired_caps[platformName] = Android
#platformName 手机类型或者模拟器类型,安卓不是必填项
desired_caps[deviceName] = DLQ0216203006037
#appPackage 想要启动的包名
desired_caps[appPackage] = com.taobao.taobao
#appActivity 想要从包中启动的activity的名字
desired_caps[appActivity] = com.taobao.tao.welcome.Welcome
#appium服务的地址和端口号
appDriver  = webdriver.Remote(http://localhost:4723/wd/hub,desired_caps)
    • 打开淘宝,如果有权限限制则接受
#接受权限
def accepPermission(appDriver):
    try:
        appDriver.find_element_by_id(com.android.packageinstaller:id/permission_allow_button).click()
    except Exception as e:
        print(e)


accepPermission(appDriver)
#同意进入淘宝
appDriver.find_element_by_id(com.taobao.taobao:id/yes).click()
accepPermission(appDriver)
#同意进入淘宝
appDriver.find_element_by_id(com.taobao.taobao:id/home_searchedit).click()
#点击查询文本框
appDriver.find_element_by_id(com.taobao.taobao:id/searchEdit).send_keys(xiexie)
#点击查询按钮
appDriver.find_element_by_id(com.taobao.taobao:id/searchbtn).click()
#退出
appDriver.quit()
    • 其中应用的id可以通过uiautomator view的工具来获取,这个工具为android sdk自带的工具,位置在<sdkpath>/tools/bin/automatorview,具体的使用方法可以在晚上找下。  

总结:appium中环境搭建相对于selenium来讲比较麻烦,但是搭建完之后,后面的操作基本上跟selenium的操作基本一致。

appium 初探

标签:案例   理解   des   splay   连接   子类   adb   col   edit   

原文地址:http://www.cnblogs.com/rubeitang/p/7600526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!