原文地址:http://www.cnblogs.com/wyx123/articles/4481704.html

#废话不多说了,直接上代码~
import os
#相想使用unittest框架,首先要引入unittest 包,这个不多解释。
import unittest
from appium import webdriver
from time import sleep

# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
    os.path.join(os.path.dirname(__file__), p)
)

#类继承unittest.TestCase 类,从TestCase类继承是告诉unittest模块的方式,这是一个测试案例。
class ContactsAndroidTests(unittest.TestCase):
    #setUp 用于设置初始化的部分,在测试用例执行前,这个方法中的函数将先被调用。
    def setUp(self):
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '4.3'
        desired_caps['deviceName'] = '192.168.56.101:5555'
        '''desired_caps['app'] = PATH(
            '../../../sample-code/apps/ContactManager/ContactManager.apk'
        )'''
        desired_caps['appPackage'] = 'com.android.calculator2'
        desired_caps['appActivity'] = '.Calculator'

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

    #earDown 方法在每个测试方法执行后调用,这个地方做所有清理工作,如退出
    def tearDown(self):
        self.driver.close_app()
        self.driver.quit()

    #放置的就是我们的测试脚本了,这部分我们并不陌生;因为我们执行的脚本就在这里。
    def test_add_contacts(self):
        '''el = self.driver.find_element_by_name("Add Contact")
        el.click()

        textfields = self.driver.find_elements_by_class_name("android.widget.EditText")
        textfields[0].send_keys("Appium User")
        textfields[2].send_keys("someone@appium.io")

        self.assertEqual('Appium User', textfields[0].text)
        self.assertEqual('someone@appium.io', textfields[2].text)

        self.driver.find_element_by_name("Save").click()

        # for some reason "save" breaks things
        alert = self.driver.switch_to_alert()

        # no way to handle alerts in Android
        self.driver.find_element_by_android_uiautomator('new UiSelector().clickable(true)').click()

        self.driver.keyevent(3)'''
        self.driver.find_element_by_id('com.android.calculator2:id/digit9').click()


#unitest.main()函数用来测试 类中以test开头的测试用例
if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests)
    unittest.TextTestRunner(verbosity=2).run(suite)
import  unittest  

相想使用 unittest 框架,首先要引入 unittest 包,这个不多解释。

成功后的结果截图~,参照下图:


↙↙↙阅读原文可查看相关链接,并与作者交流