0
点赞
收藏
分享

微信扫一扫

自动化测试——书写简单的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)
# 一种简单打印测试报告的方式,执行数,成功数,失败数

 


举报

相关推荐

0 条评论