阅读背景:

python自动化测试脚本-UIautomator2

来源:互联网 

关注交流分享测试资料

#coding:utf-8 import unittest import uiautomator2 as u2 import uiautomator2.ext.htmlreport as htmlreport import time #import autotest import os import re #创建测试类必现继承 unittest。TestCase 类 #父类的东西子类继承之后,self直接调用 class AddTest(unittest.TestCase): #测试方法必现以“test”开头 def setUp(self): device = 'XYBK01011205B00054' self.d = u2.connect_usb(device) # de_sn = self.d.serial self.d.press("back") time.sleep(1) self.d.make_toast('测试开始', 3) self.d.wait_timeout = 5.0 self.d.app_start("star.zeus.seraph.xiaoya") # time.sleep(15) time.sleep(2) def tearDown(self): self.d.press("home") self.d.make_toast('测试结束', 3) # self.u.app_stop_all() # self.u.service("uiautomator").stop() # 停止uiautomator守护程序,允许其他测试框架如 appium 运行 def Assert_Equal_resourceId(self,resourceId,photo_path): ''' :param resourceId: :param photo_path: :return: ID断言 ''' self.resourceId = resourceId self.photo_path = photo_path try: print(self.d(resourceId=self.resourceId).info["resourceName"]) self.assertEquals(self.resourceId, self.d(resourceId=self.resourceId).info["resourceName"]) # self.d.press("home") print("pass") except Exception as ex: self.d.screenshot("./photo/"+self.photo_path) self.d.screenshot("../photo/"+self.photo_path) print(ex) def Assert_Equal_text(self,text,photo_path): ''' :param text: :param photo_path: :return: text断言 ''' self.text = text self.photo_path = photo_path try: print(self.d(text=self.text).get_text()) self.assertEquals(self.text, self.d(text=self.text).get_text()) print("pass") except Exception as ex: self.d.screenshot("./photo/"+self.photo_path) self.d.screenshot("../photo/"+self.photo_path) print(ex) # def test_01(self): # ''' # # :return: # ''' # #首页 # self.d.click(21, 46) # time.sleep(1) # # self.d.xpath('//*[@resource-id="star.zeus.seraph.:id/launcher_rv_tab"]/android.view.ViewGroup[1]/android.widget.ImageView[1]').click() # self.d.click(560, 131) # time.sleep(1) # resourceId = 'star.zeus.seraph.xiaoya:id/seek_bar' # photo_name = 'error01.png' # self.Assert_Equal_resourceId(resourceId, photo_name) def test_02(self): ''' :return: ''' #喜马讲书 self.d.click(21,140) time.sleep(1) self.d.click(762, 104) time.sleep(1) # self.d.disable_popups() # self.d.click(417, 341) # if self.d(text='知道了').exists: # print('******') # # self.d(text='知道了').click() # self.d(resourceId = 'star.zeus.seraph.xiaoya:id/tv_confirm').click() # # self.d.click(417, 341) # else: # # self.d.click(417, 341) # pass time.sleep(1) resourceId = 'star.zeus.seraph.xiaoya:id/seek_bar' photo_name = 'error02.png' self.Assert_Equal_resourceId(resourceId, photo_name) self.d(resourceId='star.zeus.seraph.xiaoya:id/banner_music').click() time.sleep(1) resourceId = 'star.zeus.seraph.xiaoya:id/seek_bar' photo_name = 'error03.png' self.Assert_Equal_resourceId(resourceId, photo_name) class SubTest(unittest.TestCase): def setUp(self): # self.b = Count() print("start test") def tearDown(self): print("end test") # def test_01(self): # print(1) # result = self.b.sub(4,5) # self.assertEqual(result,-1) def Suit(): suit = unittest.TestSuite() suit.addTest(AddTest("test_01")) suit.addTest(AddTest("test_02")) # suit.addTest(AddTest("test_03")) suit.addTest(SubTest("test_04")) suit.addTest(SubTest("test_05")) suit.addTest(SubTest("test_06")) suit.addTest(SubTest("test_07")) suit.addTest(SubTest("test_08")) suit.addTest(SubTest("test_09")) suit.addTest(SubTest("test_10")) runner = unittest.TextTestRunner() runner.run(suit) # def main(): # AddTest() if __name__ == '__main__': Suit() #coding:utf-8 import unittest import os import re from # import HTMLTestRunnerCN suit = unittest.defaultTestLoader.discover( start_dir="./test_case", pattern="test_*.py" ) if __name__ == '__main__': fr = open('my_report.html','wb') soundbox_device = 'XYBK01011204300001' runner = HTMLTestRunnerCN.HTMLTestRunner( stream=fr, title="自动化测试报告", description='详情', tester="石磊", device=unicode(soundbox_device), # verbosity='2' ) # runner = unittest.TextTestRunner() runner.run(suit) #coding:utf-8 import unittest import ui



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: