这里写图片描述

setup():相当于进行一些初始化操作,并且每个函数执行的时候都会调用一次
testcase():相当于我们的函数
teardown():相当于我们释放资源的操作,进行一些后续收尾的工作

新建一个unitestdemo的python的file

这里写图片描述

代码:

#usr/bin/python
#encoding:utf-8
import time
from appium import webdriver
import unittest


class MyTestCase(unittest.TestCase):
    #这个相当于我们初始化的方法,或者类比web自动化的testNg中的beforeClass
    def setUp(self):
        desired_caps = {}
        #操作的设备类型
        desired_caps['platformName'] = 'Android'
        #设备版本
        desired_caps['platformVersion'] = '6.0'
        #设备名称
        desired_caps['deviceName'] = 'emulator-5554'
        #操作设备App的包名
        desired_caps['appPackage'] = 'com.ss.android.article.news'
        #启动页activity
        desired_caps['appActivity'] = '.activity.SplashBadgeActivity'
        desired_caps["unicodeKeyboard"] = "True"
        desired_caps["resetKeyboard"] = "True"
        #appium配置
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    #类比函数
    def testLoginIsOk(self):
        self.driver.find_element_by_id("b2d").click()
        try:
            if self.driver.find_element_by_id("b2d").is_displayed():
               exist=True
        except Exception, e:
            # 如果这个按钮没有显示,那么我们代表上面的if判断失败,执行下面的语句
            exist = False
        #断言比较
        self.assertEqual(False, False)
    #类比函数
    def testLoginIsFailure(self):
        self.driver.find_element_by_id("b2").click()
        try:
            if self.driver.find_element_by_id("b2d").is_displayed():
                exist=True
        except Exception, e:
                exist=False
        self.assertEqual(True, True)
    #类比afterclass一般是进行一些释放资源的操作
    def tearDown(self):
        # 释放资源
        self.driver.quit()


if __name__ == '__main__':
    unittest.main()

上述整体是进入今日头条并点击搜索框的操作

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐