Appium Demo

时间:2023-03-09 04:27:57
Appium Demo

import unittestimport timefrom appium import webdriverfrom public import configimport os

#类继承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'] = '127.0.0.1:5554'        # 版本小于4.2.2(api17)都需要指定selendroid        # desired_caps['automationName'] = 'selendroid'        # 安装APP        PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p))        desired_caps['app'] = PATH('..\\apk\\test.apk')        #包名        desired_caps['appPackage'] = 'com.android.calculator2'        #activity        desired_caps['appActivity'] = '.Calculator'        #支持中文输入法        desired_caps['unicodeKeyboard'] = True        #运行结果后还原输入法        desired_caps['resetKeyboard'] = True        #跳过重签名        desired_caps['noSign'] = True        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

        #启动activity        # self.driver.start_activity('com.android.calculator2','.Calculator')

    #earDown 方法在每个测试方法执行后调用,这个地方做所有清理工作,如退出    def tearDown(self):        now = time.strftime('%H_%M_%S',time.localtime(time.time()))        self.driver.save_screenshot(""+config.screenshotpath+"test_demo"+now+".png")        self.driver.close_app()        self.driver.quit()

    #放置的就是我们的测试脚本了,这部分我们并不陌生;因为我们执行的脚本就在这里。    def test_add_contacts(self):        self.driver.find_element_by_id("com.android.calculator2:id/digit7").click()        self.driver.find_element_by_id("com.android.calculator2:id/mul").click()        self.driver.find_element_by_id("com.android.calculator2:id/digit9").click()        self.driver.find_element_by_id("com.android.calculator2:id/equal").click()        text = self.driver.find_element_by_class_name("android.widget.EditText").text        self.assertEqual(text,'63','结果有误!')

#unitest.main()函数用来测试 类中以test开头的测试用例if __name__ == '__main__':    pass
 

Appium DemoAppium DemoAppium Demo