Appuim运行Android真机自动化测试

2017-01-24  本文已影响1298人  唐T唐X

首先Appuim的安装情参照:http://www.jianshu.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吧。

上一篇下一篇

猜你喜欢

热点阅读