Appuim运行Android真机自动化测试

首先Appuim的安装情参照://www.greatytc.com/p/55fef32ff505

先来看一下运行Android的case,我的是基于python的:

#coding=utf-8

import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

import os
import glob
import unittest
from time import sleep

from appium import webdriver

PLATFORM_VERSION = '4.4'


class AndroidWebViewTests(unittest.TestCase):

    def setUp(self):
#        app = os.path.abspath( os.path.join(os.path.dirname(__file__),'../../apps/selendroid-test-app.apk'))
        desired_caps = {
#            'app': app,
            'appPackage': 'com.apricotforest.dossier',
            'appActivity': '.medicalrecord.activity.main.MainLoadingActivity',
            'platformName': 'Android',
            'platformVersion': PLATFORM_VERSION,
            'deviceName': 'XiaoMI',
        'udid': '84303468',
        }

        if (PLATFORM_VERSION != '4.4'):
            desired_caps['automationName'] = 'selendroid'

        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

    def test_webview(self):
        if (PLATFORM_VERSION == '4.4'):
            button = self.driver.find_element_by_id('btn_login')
        button.click()

        #self.driver.switch_to.context('WEBVIEW_0')

        #input_field = self.driver.find_element_by_id('name_input')
        #sleep(1)
        #input_field.clear()
        #input_field.send_keys('Appium User')
        #input_field.submit()

        # test that everything is a-ok
        #source = self.driver.page_source
        #self.assertNotEqual(-1, source.find('This is my way of saying hello'))
        #self.assertNotEqual(-1, source.find('"Appium User"'))

    def tearDown(self):
        self.driver.quit()


if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(AndroidWebViewTests)
    unittest.TextTestRunner(verbosity=2).run(suite)

里面需要注意的是:
uuid是你待测试的Android机的deviceID,可以通过adb devices获得。
Android的automationName是selendroid,一定要设置。

接下来就可以跑测试了:
首先,启动appium:

bogon:~ xingshulin$ appium -p 4723
[Appium] Welcome to Appium v1.6.3
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

然后就是运行case了,对于python,就是python android_webview.py

bogon:python xingshulin$ python android_webview.py 
test_webview (__main__.AndroidWebViewTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 14.512s

OK

成功!

对了,如果想获得Android手机上控件的信息,就用Android SDK提供的uiautomatorviewer吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,679评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,585评论 2 45
  • 前言 做Android端功能自动化已有2年多的时间了,使用过的功能自动化框架有Robotium、Uiautomat...
    海波笔记阅读 17,110评论 3 66
  • 五彩缤纷的大千世界,我们的衣食住行都离不开色彩的身影。色彩除了我们通常意义上的认知外,其实还有很多鲜有人知的效果,...
    饼姑娘阅读 597评论 1 5
  • 长大了,开始套路别人,也开始接受别人的套路,没有了之前的无奈,而是慢慢的习惯,去接受,甚至去学习别人的套路,社会在...
    那个场景阅读 199评论 0 0