def test_Fps(self): logger.info('Enter -- MUAT:BrowserTest:test_Fps') BrowserIcon = self.d(text=u"浏览器", resourceId='com.aliyun.lightdesk:id/tag_name',className="android.widget.TextView") if not BrowserIcon.exists: name = sys._getframe().f_code.co_name screen_shot.ScreenShot(self,name) self.assertTrue(BrowserIcon.exists) click_x = BrowserIcon.info['visibleBounds']['left'] +5 click_y = BrowserIcon.info['visibleBounds']['top'] +5 self.mouse.doubleclick(click_x, click_y, constants.MouseLeftKey) start=time.time() while time.time()-start<constants.Time_Out: if self.d(className="android.widget.FrameLayout", packageName="org.chromium.chrome").exists: break else: time.sleep(1) BrowserWindow = self.d(className="android.widget.FrameLayout", packageName="org.chromium.chrome") if not BrowserWindow.exists: name = sys._getframe().f_code.co_name screen_shot.ScreenShot(self,name) self.assertTrue(BrowserWindow.exists) if BrowserWindow.exists: maxButton = self.d(resourceId="android:id/pc_max", className="android.widget.ImageView", packageName="org.chromium.chrome") logger.debug('click max button: (%s)' % (maxButton.info['packageName'])) maxButton.click() blankpage = self.d(resourceId="org.chromium.chrome:id/ntp_scrollview") if blankpage.exists: self.assertEqual(blankpage.info['contentDescription'], u"打开新的标签页") address = self.d(resourceId="org.chromium.chrome:id/url_bar") if address.exists: self.assertEqual(address.info['text'], u"搜索或输入网址") MenuButton=self.d(resourceId='org.chromium.chrome:id/menu_button',packageName='org.chromium.chrome') if MenuButton.exists: MenuButton.click() time.sleep(1) self.d(resourceId='org.chromium.chrome:id/menu_item_text',packageName='org.chromium.chrome').click() BookMark=self.d(resourceId='org.chromium.chrome:id/highlight') if BookMark.exists: BookMark.click() time.sleep(1) StopButton=self.d(description=u'停止加载网页',resourceId='org.chromium.chrome:id/refresh_button') start=time.time() while time.time()-start<constants.TIME_OUT: if not StopButton.exists: break else: time.sleep(0.5) detect_re = re.compile(r'D.UIAutomatorStub.*swipe') wanted_re = re.compile(r'MPT: sf post one frame at (.*)$') adb_log = AdbLog(mode=AdbLog.MODE_RE | AdbLog.MODE_NEED_DETECT | AdbLog.MODE_NEED_CONTINUE, wanted_re=wanted_re, detect_re=detect_re, logger=logger) adb_log.clear() adb_log.start() self.d.swipe(200,900,200,500) self.mouse.wheel(860,500,constants.MouseWheelDown,70,5) self.mouse.wheel(860,500,constants.MouseWheelUp,60,5) # check the log and get the data while True: if adb_log.result and len(adb_log.result) >= 3: break else: time.sleep(1) adb_log.stop_log() adb_log.join() # store the result start_time = 0 end_time = 0 fps = 0 try: length = len(adb_log.result) if length >=3: start_time = int(adb_log.result[1][0]) end_time = int(adb_log.result[-1][0]) fps = (length - 1) * 1000 / (end_time - start_time) else: logger.error('not enough data for calc fps: (%s)' % (adb_log.result)) except: logger.error('retrieve time from (%s) error' % (adb_log.result)) logger.info('wheel taobao page fps: %s' % ( fps)) # baiduPage = self.d(className="android.webkit.WebView", packageName="org.chromium.chrome") # if baiduPage.exists: # self.assertEqual(baiduPage.info['contentDescription'], u'百度一下,你就知道') closeButton = self.d(resourceId="android:id/pc_close", className="android.widget.ImageView", packageName="org.chromium.chrome") if closeButton.exists: logger.debug('click close button: (%s)' % (closeButton.info['packageName'])) closeButton.click() logger.info('Exit -- MUAT:BrowserTest:test_Fps')