美文网首页
Appuim运行Android真机自动化测试

Appuim运行Android真机自动化测试

作者: 唐T唐X | 来源:发表于2017-01-24 11:35 被阅读1298次

    首先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吧。

    相关文章

      网友评论

          本文标题:Appuim运行Android真机自动化测试

          本文链接:https://www.haomeiwen.com/subject/wkezbttx.html