说明

本文将详细说明如何使用Appnium完成:打开手机YY欢迎页面->按住屏幕向左滑动4次->按下“立即体验”按钮->按下“直播”按钮,的整个过程。

下载手机YY

http://yydl.duowan.com/mobile/yymobile_client-android/5.4.2/yymobile_client-5.4.2-881.apk

若链接失效,请自行百度

新建maven空白工程

前置条件:安装eclipse,及其maven插件,请自行百度

新建的工程如下:

新建目录apps,并将下载的安装包,拷贝到该目录下

打开POM增加依赖和插件

插入依赖

 

			org.testng
testng
6.8.7
test io.appium
java-client
4.0.0 org.seleniumhq.selenium
selenium-server-standalone
2.46.0
插入插件

				org.apache.maven.plugins
maven-compiler-plugin
2.3.2 1.7
1.7
UTF-8 org.apache.maven.plugins
maven-surefire-plugin
2.8.1 maven-resources-plugin
2.4 UTF-8

新建测试类,编写代码

新建类yy.ClickTest.java

设置capabilities,初始化AndroidDriver

capabilities的详细说明,请参见另一篇博文:http://blog.csdn.net/kaka1121/article/details/51733779

上图中,都是必填属性

其中如果已经在手机上安装好了app,那么选择①中的配置

如果需要每次都重新安装app,那么选择②中的配置

①中的appPackage和appActivity可以使用sdk自带工具aapt获得,也详见上文提到的capabilities博文

编写所需要的相关方法

因为手机YY安装好后,会出来欢迎页面,需要按住屏幕向左滑动4次,并按下“立即体验”按钮,因此,需要上述两个方法。

方法①,按住屏幕中间,向左滑动,图示已经很清楚,不再赘述。

方法②,查看一个控件是不是存在,用于查看是否已经滑动到了包含“马上体验”按钮的页面,停止滑动。

编写测试代码

下面,我们来编写测试代码

代码需要完成的事情:

①进入欢迎页面,需要按住屏幕向左滑动n次,直到出现“马上体验”按钮

②点击“马上体验”按钮,进入主页

③点击直播,完成。

代码如下图所示:

其中,代码内获取控件都通过ID来获取,比如拿到“马上体验”按钮的ID,如下图,使用UIautomatorviewer

更多UIautomatorviewer信息,见博文:http://blog.csdn.net/kaka1121/article/details/51762200

连接手机,打开appnium

使用USB调试模式,连接到手机,细节请自行百度

要说明的是,要勾选USB调试,不勾选“监控ADB安装应用”

appnium安装见http://blog.csdn.net/kaka1121/article/details/51698700

打开appnium,点击开始,连接手机

连接成功后,效果如下:

运行代码

运行代码,则会在手机上运行:

卸载YY

安装手机YY

打开手机YY欢迎页面

按住屏幕向左滑动4次

按下“立即体验”按钮

按下“直播”按钮

示例代码下载:http://download.csdn.net/detail/kaka1121/9561079

Appium移动自动化测试(四)--先跑起来再说(第一个测试用例-手机YY)的更多相关文章

  1. Appium移动自动化测试(四)之元素定位

    做过UI自动化测试的童鞋都会发现, 在上一篇文章中居然没有万能定位方式Xpath. 是滴, 确实没有! ADT自带的uiautomatorviewer里面并没有属性xpath, 如果我们需要的话,还需 ...

  2. Appium移动自动化测试(四)--one demo

    继续更新. -------------------------------------------- 第四节  安装Appium Client Appium Client是对webdriver原生ap ...

  3. Appium移动自动化测试(四)--one demo(转)

    Appium移动自动化测试(四)--one demo 2015-06-15 20:41 by 虫师, 40514 阅读, 34 评论, 收藏, 编辑 继续更新. ------------------- ...

  4. Appium python自动化测试系列之认识Appium(四)

    ​4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...

  5. Appium移动自动化测试(三)--安装Android模拟器(转)

    Appium移动自动化测试(三)--安装Android模拟器 2015-06-08 10:33 by 虫师, 30828 阅读, 9 评论, 收藏, 编辑 当Android SDK安装完成之后,并不意 ...

  6. Appium移动自动化测试(一)--工具软件安装

    Appium移动自动化测试(一)--工具软件安装 详情参考-- http://www.cnblogs.com/fnng/p/4552438.html 第一节  安装node.js Appium 官方网 ...

  7. C#_自动化测试 (四) 自动卸载软件

    在平常的测试工作中,经常要安装软件,卸载软件,  即繁琐又累.  安装和卸载完全可以做成自动化. 安装软件我们可以通过自动化框架,自动点击Next,来自动安装.  卸载软件我们可以通过msiexec命 ...

  8. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  9. Appium移动自动化测试(一)--安装Appium(转)

    Appium移动自动化测试(一)--安装Appium 2015-05-30 17:48 by 虫师, 70668 阅读, 13 评论, 收藏, 编辑 Appium 自动化测试是很早之前就想学习和研究的 ...

随机推荐

  1. 创建UIImage的两种方法

    1. UIImage *img = [UIImage imageNamed:@"imageName"]; 2. NSString *imageFilePath = [[NSBund ...

  2. svn 分支

    网上的SVN分支的教程真的不好用,我这里自己写的,绝对靠谱: SVN的分支跟GIT的分支不一样,SVN的分支,包括文件夹的分支或者是文件的分支,都是重复复制文件的,步骤如下: 1.branch/tag ...

  3. ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...

  4. Java 中Timer和TimerTask 定时器和定时任务使用的例子

    转自:http://blog.csdn.net/kalision/article/details/7692796 这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任 ...

  5. JavaScript权威指南 第二章 词法结构

    这章主要把保留字说一下 JavaScript 把一些标识符拿出来用做自己的关键字.因此,就不能再在程序中把这些关键字用做标识符了: break delete function return typeo ...

  6. Oracle远程数据库一直连接不上的原因:多了个空格

  7. objective-c中自己创建的对象为什么不能调用release

    dealloc方法,本就不应该手动调用. 你自己创建的对象,看你代码怎么写的了.例子:NSString *str1 = [NSString stringWithString:@"abc&qu ...

  8. PLSQL_Oracle面试整理(汇总)

    2014-08-16 Created By BaoXinjian

  9. CF 120F Spider 树的直径 简单题

    一个男孩有n只玩具蜘蛛,每只蜘蛛都是一个树的结构,现在男孩准备把这n只小蜘蛛通过粘贴节点接在一起,形成一只大的蜘蛛.大的蜘蛛也依然是树的结构.输出大的蜘蛛的直径. 知识: 树的直径是指树上的最长简单路 ...

  10. python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页

    一,sub和replace的用法 re.sub 函数进行以正则表达式为基础的替换工作 re.sub替换到目标字符串中的a,b或者c,并全部替换 另加上sub翻页操作: re.sub('start=\d ...