zoukankan      html  css  js  c++  java
  • 自动化测试——书写简单的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)
    # 一种简单打印测试报告的方式,执行数,成功数,失败数
  • 相关阅读:
    Hoder.js介绍
    vim折叠方法
    tensorflow最基础分类实例--iris分类
    语音识别GMM-HMM
    亨元模式
    责任链模式
    命令模式
    策略模式
    工厂模式
    Java高并发程序设计(十)--无锁
  • 原文地址:https://www.cnblogs.com/luoyihao/p/15710025.html
Copyright © 2011-2022 走看看