51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2162|回复: 0
打印 上一主题 下一主题

robot framework 移动端自动化(第二篇:处理开机/用户引导页--滑动swipe以及clic...

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-8-24 16:10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言:
  • 现在越来越多的应用,在首次安装或者更新之后都会有一个引导页,上一节我们讲解了如何启动一个应用,接下来我们讲解如何操作引导页顺利进入首页
  • 每篇文章都是使用实例, 大家可以一起做,但是练习的时候要多想想,这种操作在哪些地方还有可能用到,该怎么去用
使用工具:
备注:
课程开始之前,我们先来看一下今天我们示例用的应用开机引导页的应用58速运安卓端安装包(下载地址:https://pan.baidu.com/s/1eSiYkEm),启动之后出现开机引导页进入主页有以下两种方式:
  • 点击引导页中的跳过按钮
  • 滑动到第三张引导页,点击立即体验按钮
我们今天讲比较复杂的第二种方法,掌握第二种方法后,大家自然而然就知道怎么使用第一种方法进入首页了
课程步骤:
  • 启动ride
  • 新建工程
  • 新建测试集,且在测试集中导入我们测试所需库AppiumLibrary
  • 新建测试用例名为“跳过进入首页”
  • 手机用USB连接电脑,cmd运行adb devices获取手机的设备名
  • 启动appium,依次点击:android settings-->勾选application path-->choose(选择58速运安卓端安装包的路径)如下图:


7. 选择之后,再次点击:android settings。 可以查看到该应用的包名以及启动activity,如下图:


8.  注意---消appium中勾选的application path,然后点击启动。
9. ride中刚新建的测试用例中开始写代码了(整个写完的用例下载地址:https://pan.baidu.com/s/1eSiYkEm     。下载了代码之后,ride直接打开你下载的文件夹)
我们上图写完的最简单的达到我们目的的用例:


  • 第一行:Open Application    http://localhost:4723/wd/hub    platformName=Android    platformVersion=4.2.2    deviceName=KZNJIRLZGIIRKFT4    app=D:/installer/com.wuba.huoyun.apk    appPackage=com.wuba.huoyun    appActivity=.activity.WelcomeActivity    unicodeKeyboard=True    resetKeyboard=True  这行代码我们再上一篇文章中就有介绍,打开应用,如果未安装应用,则安装之后打开应用。最后两个unicodeKeyboard=True    resetKeyboard=True,在我们F5搜索关键字的示例中没有涉及。那这个是干什么用的呢?输入中文用的,如果不设置这两个,你如果想要在应用里输入中文,是没法输入的
  • 第二行:sleep 10 ,休息10秒,不做任何动作。 应用启动需要一段时间之后才会出现引导页,所以我们这行的意义在于等待引导页的出现(下节我们练习怎么动态的等待,断言引导页的出现
  • 第三行:swipe 滑动,从第一页滑动至第二页。我们所用给的应用有三个引导页,是用滑动的手势去切换至下一页 swipe的用法是(startX,startY,stopX,stopY).如何获取这个值?可以打开手机开发者模式中的指针位置,然后手指停留的地方会显示x和y值
  • 第四行:从第二页,滑动至第三页。
  • 第五行:点击事件,点击开机引导页第三页的“立即体验”。 步骤:手机安装应用,启动应用,滑动至引导页第三页(确保手机usb连接电脑成功);双击启动adb安装路径tools文件夹下:uiautomatorviewer.bat,点击device screenshot按钮; 鼠标点击页面中的立即体验,然后拷贝右侧数据中的 resource-id值,如图:



10. 运行测试用例,简单点一个从引导页到首页的用例就讲解完成了。



今天我们讲解的知识点有以下几个:
  • 使用appium获取安装包的包名, activity名
  • 滑动方法:swipe
  • 使用uiautomatorviewer.bat获取页面中元素的信息
  • 点击事件:click element (使用id)
  • 等待事件:sleep
今天用例的不足:
  • 滑动事件:swipe,每个手机的屏幕大小不一样,这样的固定的指针位置,可能不适应其他手机(但是我们不可能每个手机都修改一次这个位置)
  • 等待事件:sleep, 应用加载较快的时候,10秒钟我们可能真的只需要等待三秒,浪费了事件,网速不好的时候可能10秒加载不出来,这样我们的用例就会失败
  • 滑动事件:写了两个重复的滑动事件,这里只需要滑动两次,但是如果我们需要滑动5次、10次呢?
下一篇我们讲解怎么优化现有的用例:robot framework 移动端自动化(第三篇:动态获取坐标,动态等待,循环语句)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 23:12 , Processed in 0.063965 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表