自动化测试——书写简单的python脚本

我使用Appium进行手机的自动化测试,写了个简单的Python脚本,代码如下:

from appium import webdriver
from time import sleep
import unittest
import os
import sys
import warnings

class Tests(unittest.TestCase):
    # 启动app
    def setUp(self):
        app = os.path.abspath('/Users/luoyihao/Downloads/AIOffice_1.9.3_UAT.ipa')
        desired_caps = {}
        desired_caps['app'] = app
        desired_caps['platformName'] = 'ios'  # 设备系统
        desired_caps['platformVersion'] = '13.5.1'  # 设备系统版本
        desired_caps['deviceName'] = 'iphone XR'  # 设备名称
        desired_caps['bundleId'] = 'com.chinamobile.AiOffice'  # 测试app包名
        desired_caps['udid'] = '00008020-001D68C80C99002E'
        desired_caps['automationName'] = 'XCUITest'  # 测试appActivity
        desired_caps['noReset'] = True
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

    def testCase1_MultipleSelectors(self):
        sleep(3)
        driver = self.driver
        el1 = driver.find_element_by_xpath(
            "//XCUIElementTypeApplication[@name=\"智慧办公\"]/XCUIElementTypeWindow[1]/XCUIElementTypeOther[2]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeScrollView/XCUIElementTypeOther[5]/XCUIElementTypeOther[1]")
        el1.click()
        sleep(3)
        text1 = driver.find_element_by_accessibility_id("已选中 0 项").text
        # print("text1:" + text1)
        el2 = driver.find_element_by_xpath(
            "//XCUIElementTypeOther[@name=\"投诉建议\"]/XCUIElementTypeOther[3]/XCUIElementTypeOther[1]")
        el2.click()
        el3 = driver.find_element_by_xpath(
            "//XCUIElementTypeOther[@name=\"投诉建议\"]/XCUIElementTypeOther[3]/XCUIElementTypeOther[2]")
        el3.click()
        text2 = driver.find_element_by_accessibility_id("已选中 2 项")
        if text2:
            text2 = text2.text
        # print("text2:" + text2)
        sleep(5)
        self.assertIsNone(text2,'multiple selectors case error')

    def testCase2_ButtonChange(self):
        driver = self.driver

    def tearDown(self):
        driver = self.driver
        self.driver.quit()

if __name__ == '__main__':
    warnings.filterwarnings('ignore')

    f = open('log.txt', 'a')
    sys.stdout = f
    sys.stderr = f
    
    suite = unittest.TestSuite()
    suite.addTest(Tests('testCase1_MultipleSelectors'))
    suite.addTest(Tests('testCase2_ButtonChange'))
    unittest.TextTestRunner(verbosity=2).run(suite)
# 一种简单打印测试报告的方式,执行数,成功数,失败数
原文地址:https://www.cnblogs.com/luoyihao/p/15710025.html