Skip to main content

this is a second develop from HATT

Project description

# Tonzh 基于HATT 二次开发

原理:基于android uiautomator跟adb

环境:python2.7.x+android sdk

功能:支持功能、性能、稳定性

优点:无需安装任何apk或其他插件,支持跨应用,无签名烦恼

缺点:不支持webview、动态页面、中文输入及查找

以下是demo

```python
__author__ = 'Tonzh'
#coding=utf-8
#import moudles
from Core.Utils.surface_collector import SurfaceStatsCollector
from Core.Action.action import Action
from Core.Info.element import Element
from Core.Info.performance import PerformanceInfo
from Core.Action.Monkey.monkey import Monkey
import Core.Info.keycode as key
s=SurfaceStatsCollector()
a=Action()Tonzh
e=Element()
p=PerformanceInfo()
m=Monkey()
"""
Performance Test
"""
#Fps Test
s.DisableWarningAboutEmptyData()
s.Start()
#steps
for x in range(3):
a.swipeToUp()
s.Stop()
#print result
for x in s.GetResults():
if "avg_surface_fps" in x.name:
print x.name,x.value,x.unit

#Cpu Test
#steps
for x in range(3):
a.swipeToUp()
#print result
cpunInfo=p.getCpuFromDump("com.android.launch")
#or
cpunInfo=p.getCpuFromTop("com.android.launch")


# Mem Test
#steps
for x in range(3):
a.swipeToUp()
#print result
memInfo=p.getMemFromDump("com.android.launch")
#or if you install procrank
menInfo=p.getMemFromProcrank("com.android.launch")


#LaunchTime Test
#steps
for x in range(3):
a.swipeToUp()
#print result
startInfo=p.getAppStartTotalTime("com.android.launch/.LaunchActivity")


#Flow Test
#steps
flowInfoBefore=p.getCurFlowFromProc("com.android.launch")
#do something
for x in range(3):
a.swipeToUp()
flowInfoAfter=p.getCurFlowFromProc("com.android.launch")
#print result
flowInfo=flowInfoAfter-flowInfoBefore

#Battery Test
#steps
batteryInfoBefore=p.getBatteryLevel()
#do something
for x in range(3):
a.swipeToUp()
batteryInfoAfter=p.getBatteryLevel()
#batteryInfo=(batteryInfoBefore-batteryInfoAfter)*batteryCount


"""
Function Test
"""
#click element
#1.get by class
elm=e.findElementByClass("TextView")
#or by id
elm=e.findElementById("dd")
#or by text
elm=e.findElementByName("tt")
#or by content-desc
elm=e.findElementByContent("tt")
#2.then do something
#click
a.touch(elm)
a.touchByElement(elm)
a.touchByRatio(0.5,0.2)
a.touch(300,400)
#long click
a.longPress(elm)
#send text
a.sendText("dd")
#send keyevent
a.sendKeyEvent(key.BACK)
#swipe
a.swipeToDown()
a.swipeToLeft()
a.swipeToRight()
a.swipeToUp()
a.swipe(elm,elm)
a.swipe(100,100,100,100)

#check currentview hava element
#by class
e.searchForByClass("TextView")
#by name
e.searchForByName("dd")
#by id
e.searchForById("dd")
#by content-desc
e.searchForByContent("dd")


"""
Monkey Test
"""
#steps
m.StartOne("com.android.browser",1000,1000,1000)
#wait for monkey stop or new script and run m.Stop()
#if you see monkey stop you can run
m.Stop()


```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

HATT-add-on-1.0.2.tar.gz (17.5 kB view details)

Uploaded Source

File details

Details for the file HATT-add-on-1.0.2.tar.gz.

File metadata

  • Download URL: HATT-add-on-1.0.2.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for HATT-add-on-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f83a0c1298949bb7a0a95d3f5933473f6ebef03666180654841ca0c254730917
MD5 d040c8ebe8ca92d55e959a8e06fc4d66
BLAKE2b-256 d41e73dd43860215e6434a9fbd737cb9fc6141367bf461be86f67de8ce13006a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page