怎样使用Appium进行Android怎么进行自动化测试试

请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
你输入的邮箱还未注册
还没有帐号请点击
你输入的邮箱还未注册
又想起来了?
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
Android_appium自动化测试资料.ppt 30页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:350 &&
你可能关注的文档:
··········
··········
Android自动化测试 Android 自动化测试技术介绍
Android 自动化测试环境配置
Android 自动化测试spart.android
Android 自动化测试UiAutomator
Android 自动化测试控件操作
Android 自动化测试client端脚本编写Android 自动化测试技术介绍 Android自动化测试技术介绍 Robotium Appium? Uiautomator Nativedriver? Monkeyrunner
Android自动化测试技术介绍 Robotium: /p/robotium/ 基于instrumentation实现,提供的接口可以满足大部分自动化需求,使用方法简单 支持手势、webview、截图等操作 支持Remote Control方式 支持ant、maven打包,与jenkins结合较好 资料丰富,社区活跃,更新频繁 签名问题,待测App和测试App必须使用相同签名 通过solo对象提供操作方法,面向对象方面较差 不支持跨应用测试,Android进程安全限制
Android自动化测试技术介绍 Appium:
http://appium.io/ 跨架构,原生、混合以及Web移动应用。 跨平台,Android、ios和firefoxos。 跨语言,java、python、ruby、nodejs、php、Objective-C、JavaScript、C#等。 跨app,可以在多个APP之间交互。 支持多种测试框架,Junit、Rspec、PHPUnit、Nose、Mocha、Cucumber、Capybara和Vows等。 不依赖源代码。 Android 自动化测试环境配置 Android自动化测试appium环境配置 下载appium
: http://appium.io/ AppiumForWindows-.zip 解压缩到本地,执行Appium.exe 下载安装Android-SDK :/soft/detail/23485.html?ald
Android自动化测试appium环境配置 打开Eclipse提示导入Android-SDK
Android自动化测试appium环境配置 打开Eclipse 新建mven project Android自动化测试appium环境配置 配置pom.xml文件
Android自动化测试appium环境配置 配置perties文件 在src/main/resources下新建一个perties文件。 加入以下配置项: version=4.2.2 classpathRoot=apps/personDoctor
----指定被测试apk路径 appDir=personDoctor.apk platformName=Android deviceName=ce6be444 device=appium app-package=com.pingan.papd app-activity=com.pingan.papd.ui.activities.LogoActivity 在mvn project工程下创建apps文件夹,在apps文件夹下以被测试apk名字创建子文件夹,把被测试apk放入文件夹内。 Android 自动化测试spart.android Android 自动化测试spart.android 新增AndroidDriver类,继承AppiumDrver,用于更多自定义方法的封装。如新增:scrollTo 方法(持续更新中) 引入TestNG框架 自动清理无效的session 增加测试用例失败,自动截图 优化测试用例失败提示信息… 新增perties文件
Android 自动化测试spart.android使用 在上面环境配置中介绍到pom.xml配置中加入 &dependency& &groupId&com.pajk.test&/groupId& &artifactId&spart.android&/artifactId& &version&1.0.0-SNAPSHOT&/version& &/dependency&
&dependency& &groupId&com.google.inject&/groupId& &artifactId&guice&/artifactId& &version&3.0&/version& &scope&test&/scope& &/dependenc
正在加载中,请稍后...Android手机自动化测试实例详解
本人从参加工作以来,一直在做自动化测试方面的工作。最初接触的是Web自动化,后来又做接口自动化测试。由于最近几年手机应用越来越广泛,手机应用的自动化测试也发展的很快,所以我就利用工作之余去学习手机自动化测试。
手机自动化框架也比较多,针对ios,android两个不同的平台,最后我挑选了appium,它是利用webdriver来进行驱动测试的,这个框架我比较熟悉,而且它支持两个平台。于是我就针对这两个不同的平台进行了分别的搭建与测试,IOS平台的环境搭建没有问题,具体搭建方法见:
,而测试用例,由于现在我没有办法将ipa文件转化成app文件,所以测试用例还没有搞定。问题解决后,会发相应的文章的。
本篇介绍一下Windows环境下android自动化测试的具体实例,环境安装见:
,现在说一下测试用例:
测试对象:网信金融旗下的众筹网的手机应用
运行对象:android模拟器(真机运行见下篇)
测试用例:简单的登录
用例语言:webdriver+python
测试步骤:
1,启动appium
在Windows下,找到appium应用程序,双击打开,然后右上角的appium启动按钮,看到输出日志,表明启动成功。
2,启动android模拟器
模拟器如何创建,参见:
,本人创建的模拟器为:antester,启动方法:在cmd下输入:emulator
@antester,过一会儿就会弹出android模拟器:
3,编写测试用例
使用你习惯的编辑软件来写你的测试用例,我用语言是python,下面介绍一下具体的测试用例。
#-*- coding: UTF-8 -*-
#导入常用的包
import time
import unittest
from selenium import webdriver
from lib2to3.pgen2.driver
import Driver
from lib2to3.tests.support
import driver
#设置路径信息
PATH=lambda p:os.path.abspath(
os.path.join(os.path.dirname(__file__),p)&&&&&&&&&&&&&&&&&&&&&&&&&&&&
global driver
class LoginAndroidTests(unittest.TestCase):
def setUp(self):
#初始化测试平台
desired_caps={}
desired_caps['device'] = 'android'
desired_caps['platformName']='Android' #测试平台
desired_caps['browserName']=''
desired_caps['version']='4.2.2'#系统版本
desired_caps['deviceName']='antester'#模拟器名称
desired_caps['app-package']='com.subject.zhongchou'#要测试的app
desired_caps['app-activity']='.ZhongChou'#当前活动应用
self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
def tearDown(self):
self.driver.quit()
def test_login(self):
time.sleep(30)
#点击“注册登录”按钮
button=self.driver.find_element_by_id("com.subject.zhongchou:id/register_button")
button.click()
time.sleep(10)
name = self.driver.find_element_by_id('com.subject.zhongchou:id/loginnumber_phone')
name.click()
name.send_keys('183XXXXX905') #输入用户名
psd = self.driver.find_element_by_id('com.subject.zhongchou:id/loginnumber_password')
psd.click()
psd.send_keys('XXXXXXX') #输入密码
blogin=self.driver.find_element_by_id('com.subject.zhongchou:id/go_numberlogin')& #单击登录按钮
blogin.click()
time.sleep(10)
#此处要检测是否登录成功,我懒省事,略了!
if __name__ == '__main__':
unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)
上面是一个完整的测试用例,关系到元素的定位,内容的输入等操作。其实还可以优化一下,把测试数据独立出来放到一个xml文件中,而且通用的操作,可以放到一个类中封闭成通用方法,此代码只为了说明测试用例结构用的。
元素的定位
&元素的定位是自动化测试的头等大事,在页面自动化测试的时候,Selenium
IDE提供了很好的定位,录制等方法。可是在手机自动化测试的时候,没有很好的工具 ,一般用的是appium inspector,
uiautomatorviewer和hierarchyviewer等工具,具体使用方法自己去网上查一下。可是没有很好的录制方法,虽然appium inspector在mac上可以对IOS的App进行录制,但是不太好用。
&Appium有一个很好的交流网站:,大家可以时常去浏览一下,相信能学到很多知识的。快速,准确的定位是要靠经验的,这个帖子,讲了一些儿定位方法,希望对大家有所启发。
要做好自动化测试,要大胆地尝试,学会在网上搜索各种相关的资料,并且善于总结。通常比较先进的东西,网上的资料都不多,那些儿一搜一大堆资料的东西,建议不要学习,会的人太多,你都没有一点儿优势。这是我最近在android手机自动化测试过程中摸索的一点儿总结,希望能帮助大家,也是对学习的一个总结。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。请裁剪图片
用实例告诉你,如何利用Appium实现移动终端UI自动化测试
移动互联网时至今日发展非常迅速,Android与iOS系统的手机已经成为时代的宠儿。基于移动终端的产品如雨后春笋般地冒出,要测试一个已成型的应用,从用户所见的角度来做自动化收益还是比较高的。本文旨在利用Appium工具实现移动终端UI自动化测试,以下重点介绍appium相关知识、以及结合手机项目进行自动化测试的实例。
「为什么选择Appium?」
Appium是个...
移动互联网时至今日发展非常迅速,Android与iOS系统的手机已经成为时代的宠儿。基于移动终端的产品如雨后春笋般地冒出,要测试一个已成型的应用,从用户所见的角度来做自动化收益还是比较高的。本文旨在利用Appium工具实现移动终端UI自动化测试,以下重点介绍appium相关知识、以及结合手机项目进行自动化测试的实例。
「为什么选择Appium?」
Appium是个...
用户名不正确!
下次自动登录
添加到资源集
+创建资源集
新建资源集
创建资源集目前仅对内测用户开放,关注51Testing
Appium+java实现自动化测试实例
发表于: 09:28 &作者:by小杰 & 来源:简书
推荐标签:
&代码 public class AppiumHelloTest {   & &private AppiumD   & &@Before   & &public void setup() throws Exception {   & & & &DesiredCapabilities cap = new DesiredCapabilities();   & & & &cap.setCapability(CapabilityType.BROWSER_NAME, "");   & & & &cap.setCapability("platformName", ""); //指定平台   & & & &cap.setCapability("deviceName", "0605edb8db97ee23"); //指定测试机的ID,通过adb命令`adb devices`获取   & & & &cap.setCapability("platformVersion", "4.4");   & & & &//将上面获取到的包名和Activity名设置为值   & & & &cap.setCapability("appPackage", "com.android.calculator2");   & & & &cap.setCapability("appActivity", "com.android.calculator2.Calculator");   & & & &//A new session could not be created的解决方法   & & & &cap.setCapability("appWaitActivity","com.android.calculator2.Calculator");   & & & &//每次启动时覆盖session,否则第二次后运行会报错不能新建session   & & & &cap.setCapability("sessionOverride", true);   & & & &driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);   & &}   & &@Test   & &public void plus(){   & & & &//获取1   & & & &driver.findElementById("com.android.calculator2:id/digit1").click();   & & & &//获取+   & & & &driver.findElementById("com.android.calculator2:id/plus").click();   & & & &//获取2   & & & &driver.findElementById("com.android.calculator2:id/digit2").click();   & & & &//获取=   & & & &driver.findElementById("com.android.calculator2:id/equal").click();   & &}   & &@After   & &public void tearDown() throws Exception {   & & & &driver.quit();   & &}  }  maven:  Xml代码  &dependencies&   & & & &&dependency&   & & & & & &&groupId&junit&/groupId&   & & & & & &&artifactId&junit&/artifactId&   & & & & & &&version&4.11&/version&   & & & & & &&scope&test&/scope&   & & & &&/dependency&   & & & &&dependency&   & & & & & &&groupId&commons-io&/groupId&   & & & & & &&artifactId&commons-io&/artifactId&   & & & & & &&version&2.4&/version&   & & & &&/dependency&   & & & &&dependency&   & & & & & &&groupId&junit&/groupId&   & & & & & &&artifactId&junit&/artifactId&   & & & & & &&version&4.10&/version&   & & & & & &&scope&test&/scope&   & & & &&/dependency&   & & & &&dependency&   & & & & & &&groupId&com.alibaba&/groupId&   & & & & & &&artifactId&fastjson&/artifactId&   & & & & & &&version&1.1.22&/version&   & & & &&/dependency&   & & & &&!-- /artifact/io.appium/java-client --&   & & & &&dependency&   & & & & & &&groupId&io.appium&/groupId&   & & & & & &&artifactId&java-client&/artifactId&   & & & & & &&version&4.1.2&/version&   & & & &&/dependency&   & &&/dependencies&  Appium+java实现实例  前面我已经搭建好了appium所需要的环境,本文我以系统自带的计算器app为测试对象,进行学习。  一、将测试机与PC连接  (本人使用的是真机)通过Usb接口将真机与PC端连接起来,在安装appium搭建环境中我们已经安装了SDK,所以打开CMD命令窗口,用 adb devices 命令来查看是否可以检测到设备,如果如下图显示出设备,则证明我们可以对手机进行测试操作。  查看设备.png  记下设备名,测试代码要使用。  二、打开指定测试App的指定Activity  通过上一步操作,我已经看到我的设备是可以操作的了,那究竟应该如何让appium去自动找到指定的APP和指定的Activity呢?想要打开指定的App,需要知道App的包名,同样想要打开指定Activity也需要知道其名,如何获取?  1、问公司的开发人员,一定可靠。  2、通过命令获取: adb
dumpsys window w |findstr \/ |findstr name= (这条命令的作用是,获取当前app和当前Activity的名字,我现在手机已经打开了计算器应用)如图:  获取包名.png  三、打开uiautomatorviewer获取元素  接下来需要用 uiautomatorviewer 对测试app的元素(button、text Field)进行抓取,比如通过id、class和text等来确定具体的元素。 uiautomatorviewer是在android-sdk的一个工具,具体目录 \android-sdk-windows\tools\uiautomatorviewer.bat 。  操作:  1、双击uiautomatorviewer.bat,打开UI Automator viewer 窗口,如图所示:  uiautomatorviewer.png  2、在手机与PC端连接的情况下,点击 “Device screenshot”, 连接手机应用的窗口将显示出来,如图:  Paste_Image.png  3、测试“1+2=3”的用例,在uiautomatorviewer界面,点击“1”,选中该按钮,查看右边的panel来找到“text”或“resource-id” 或“class”的值,如图:  1按钮.png  保存其:resource-id  +按钮.png  保存其:resource-id  2按钮.png  保存其:resource-id  =按钮.png  保存其:resource-id  四、创建java项目  我们已经获取到想要的元素,下一步就是用代码编写了,打开eclipse软件,创建一个java project ,导入依赖,如图:  Paste_Image.png  五、测试源代码  代码实现1+2= 3的自动化测试package com.occall.  import org.testng.annotations.T  import org.testng.annotations.BeforeC  import org.testng.annotations.AfterC  import io.appium.java_client.AppiumD  import io.appium.java_client.android.AndroidD  import java.net.URL;  import org.openqa.selenium.remote.CapabilityT  import org.openqa.selenium.remote.DesiredC  public class loginOccall2 {   & &private AppiumDriver &   &@BeforeClass   &public void setup() throws Exception {   & & & &DesiredCapabilities cap = new DesiredCapabilities();   & & & &cap.setCapability(CapabilityType.BROWSER_NAME, "");&   & & & &cap.setCapability("platformName", "Android"); //指定测试平台   & & & &cap.setCapability("deviceName", "71MBBLG26R76"); //指定测试机的ID,通过adb命令`adb devices`获取   & & & &cap.setCapability("platformVersion", "5.1");&   & & & &//将上面获取到的包名和Activity名设置为值   & & & &cap.setCapability("appPackage", "com.meizu.flyme.calculator");   & & & &cap.setCapability("appActivity", "com.meizu.flyme.calculator.Calculator");   & & & &//A new session could not be created的解决方法   & & & &cap.setCapability("appWaitActivity","com.meizu.flyme.calculator.Calculator");   & & & &//每次启动时覆盖session,否则第二次后运行会报错不能新建session   & & & &cap.setCapability("sessionOverride", true);   & & & &driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);   &}   &@Test&   &public void plus(){   & & &//获取1   & & &driver.findElementById("com.meizu.flyme.calculator:id/digit1").click();   & & &//获取+   & & &driver.findElementById("com.meizu.flyme.calculator:id/plus").click();   & & &//获取2   & & &driver.findElementById("com.meizu.flyme.calculator:id/digit2").click();   & & &//获取=   & & &driver.findElementById("com.meizu.flyme.calculator:id/eq").click();   &}   &@AfterClass   &public void tearDown() throws Exception {   & & &driver.quit();   &}  }  六、启动Appium  手机设备连接到PC端,手机屏幕打开着。接着启动Appium,启动成功如下图:  Paste_Image.png  七、运行测试类  Paste_Image.png  八、大功告成,注意查看运行日志和appium控制台日志  Paste_Image.png  Paste_Image.png  可以看到,手机端的计算器app,也会自动出现1+2 = 3的自动化输入测试  ===  ==  =
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道}

我要回帖

更多关于 自动化测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信