zoukankan      html  css  js  c++  java
  • 【待考察】Appium使用技巧,助你快速入门移动端自动化!

    Appium使用技巧,助你快速入门移动端自动化!

    关注并置顶【柠檬班】的小哥哥小姐姐

    “猪”年行大运

    说说最近研究移动端的自动化

    移动端的自动化,appium是个不错的选择。

    优势就不必多讲了,直入主题,方便大家获取自己想要的知识。

    如下:第一步就是各种配置的键值怎么获取,

    类似这个

     

    -

    1

    -

    启动项获取

     

    一:设备id和android版本号

    获取系统版本:

    adb shell getprop ro.build.version.release

    获取系统api版本:

    adb shell getprop ro.build.version.sdk

     

    二:获取apk相关信息

    包名、启动Activity什么的,可以使用aapt工具,要自己下载aapt.exe和配置环境变量

     

    三:代码实现

    大概如下:

    注意要加这个属性才能支持中文

     

    -

    2

    -

    使用deskto

    一:录制脚本

    这真的是一个很实用的功能。

    他似乎解决了我们一个大问题,那就是该使用哪个API的问题以及脚本的编写规范的问题。

    对于初步入坑的小伙伴来说是一个很好的参考。

    脚本录制功能就是那个眼睛图标,如下图:

    点击该按钮以后如下图:

    然后就可以在左边随便对App进行操作了,

    此处我进行的操作有:

    ●点击输入框

    ●点击Alert

    ●滑动滑动条

    ●滑动屏幕

    ●点击软键盘并输入文本(这里我选择是Python语言)

    这时候Inspector生成的脚本是非常简单的,只是对你操作的步骤进行记录,还不能执行,

    这段脚本如下:

    这只是Inspector默认生成的极简脚本,

    善良的Inspectory为我们提供了一个功能那就是将极简脚本变成可执行脚本,

    操作如下图:

    生成可执行脚本:

    二:功能介绍

    ●滑动屏幕:滑动屏幕

    ●坐标点击:可以通过tap进行点击(非原生native不可使用)

    ●刷新页面:实时获取页面元素

    ●搜索元素:判断页面元素是否存在,或者调试搜索条件及页面元素有几个等等

    ●右击,点击inspect element

    可以看到当前页面的xml

    -

    3

    -

    入门指南

     

    AppiumDesktop真的是一个好东西:

    一:首先他可以定为元素信息(这里所说的元素是指App上的空间)

    这一点它和Android自带的uiautomatorviewer一样,

    但是AppiumDesktop可以定位iOS和Android两个操作系统的App;

    二:还有一点他可以录制脚本

    这真的就很牛逼了。

    脚本语言还可以自己选择,比如我选择使用Python语言,那么录制出的脚本就是Python语言的。

    但是对于这一点上官网说了,这个功能只做学习的工具,

    不能够作为代码生成器

    (In sum, it is a learning tool, not a robust code generation feature, and should be used as such.)。

    上图就是AppiumDesktop Inspactor启动以后的样子,

    接下来咱们就讲讲怎么用这个神秘的AppiumDesktop。

    -

    4

    -

    什么是AppiumDesktop

    一:AppiumDesktop

     

    有人说AppiumDesktop是Appium新版的叫法,也就是在Xcode8之前和之后的叫法。

    因为Xcode8之前自带的自动化测试框架叫做uiAutomation,

    Xcode8之后完全弃用了这一框架,开始使用XCUITest,

    这导致Appium大修其下层机制,以使用Facebook的WebDriverAgen,

    也就是从这个时候在用Appium测试iOS应用的时候必须在iPhone手机上首先安装一个应用

    WebDriverAgentRunner

    也就是通过这个应用来启动我们被测应用。 

    所以AppiumDesktop不是Appium。

    AppiumDesktop启动以后的页面是这样的:

    二:以iPhone 7 Plus模拟器为例进行讲解

     

    ●platformName:因为用的是iOS手机

    ●platformVersion:和实际模拟器版本一致,我的模拟器是10.3版本

    ●deviceName:我是用的iPhone 7 Plus,

    你也可以填写iPhone Simulator,会启动一个默认的(iPhone 6)模拟器

    app:所要安装的app这里安装的是官方提供的一个Demo。

    当然也可以安装自己待测app,但是就不一定是text了(可能是filepath)

    noReset:是一个bool值,选TRUE。

    如果想要使用真机,必须再加一个字段udid,是text类型。

    通过终端获取已连接电脑的iPhone的udid方法:

    三:配置好这些信息以后点击Save As...进行保存

    保存以后以备日后使用(如果需要),这些信息被保存在“Saved Capability Sets”里。

    然后点击Start Session就可以启动 Inspector了,这个过程比较慢,需要稍等几分钟。

    然后就会出现文章第一个图所示的窗口。

    -

    5

    -

    定位元素信息

    写Appium脚本的最重要的一个信息是定位元素,获取元素的ID或者xpath等等类似的信息。

    01 首先要点击Inspector最左边一栏的Select按钮

    02 然后再去点击所要获取信息的元素即可。

    03 当元素突出显示时,其信息将显示在Inspector右侧的详细视图中。

    04 有些是用 accessibility id 定位,有些是xpath定位或者其他的定位信息,但是在iOS应用上Appium推荐使用accessibility id 来定位一个元素信息。

    05 在Inspector窗口的中间是您的应用程序的层次结构,表示为XML。

    -

    6

    -

    页面(元素)

     

    一:滑动页面(元素)

    现在可以定位当前页面的元素了,但是怎么滑动到下一个页面或者怎么滑动页面上的滑动条(slider)呢?

    二:选中Swipe

    模拟在手机上的操作手势,从起点到终点各点击一下,就实现了滑动。

    三:点击某一个元素

     

    如果我们想要点击某一个元素进行下一步操作,比如在输入框内输入文本或者弹出一个alert该怎么操作呢?

    四:选中Tap

    然后再去点击textfield或者alert我们就可以进行下一个操作了。

    如果想要定位alert上的元素信息,那就在alert弹出的时候在切换到Select,

    然后点击想要定位的元素就行了。

    本文转载自柠檬班社区,

    未经允许谢绝转载

    http://www.lemfix.com/topics/130

     

    - END -

    今天的分享就到这里了

    看完本文有收获?请转发分享给更多人

    阅读 1069
     
    精选留言

    写留言

    •  1
      最近刚好需要,这个简直就是救星,网上都没有这么详细的,大爱柠檬班
       
      作者
      以后有任何问题,可以在评论区留言,或者是加开开老师微信:1397658968
    •  
      如何领取皮箱
       
      作者
      可以参加我们的打卡活动哦,详情可加小米微信:13327316731 备注:公众号
    •  
      写的太好了,正好工作需要做iOS和安卓的自动化测试,嘻嘻嘻~
       
      作者
      那是自然~
    •  
      deskto 这个是什么工具???
       
      作者
      不是deskto,是appium desktop版本
    •  
      请问deskto全名叫啥?
       
      作者
      appium desktop
     
    鱼会口渴吗?奶牛为什么总有奶?浣熊为什么喜欢洗刷刷?
  • 相关阅读:
    Javascript高级程序设计-对象
    获取访问来源
    jQuery 序列化表单数据 serialize() serializeArray()
    Web用户的身份验证及WebApi权限验证流程的设计和实现
    Asp.Net WebAPI中Filter过滤器的使用以及执行顺序
    ASP.NET Web API 过滤器创建、执行过程(二)
    ASP.NET Web API 过滤器创建、执行过程(一)
    MVC和Web API 过滤器Filter
    在ASP.NET Core Web API上使用Swagger提供API文档
    Json常用组件
  • 原文地址:https://www.cnblogs.com/Susie-/p/10300622.html
Copyright © 2011-2022 走看看