一、首先说说手机自动化测试的原理 1、手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口、USB或者无线方式将PC与手机终端相连,然后应用测试工具向手机发送请求或者命令,手机收到命令或者请求后,交给agent端解析,然后agent将这些解析的命令下发给手机的各个功能模块所能识别的命令,调用那些功能模块模拟操作。完成这些操作后,手机会返回一些信息,agent可以抓取这些信息,然后传回给PC端,这样就完成了一个完整的手机自动化测试。 2、关键点在于agent,有的公司是向自己的手机终端的软件功能模块中植入测试程序响应代码,有的公司可以利用MMI_Command的方式来控制手机终端;原理就是给手机提供一个响应的接口。 3、而对于PC控制端,这个测试脚本用各种编程语言都可以,看如何定义 4、而又的自动化测试设计成录制的机制,说通俗点,就是记录手工操作的键盘信息或者LCD的操作信息(LCD需要用到智能识别机制) 5、自动化测试框架的搭建方法是通用的,你需要有一套自己的测试框架才能保证自动化测试的顺利开展。 二、Android自动化测试方向: 1、CTS,CTS 测试基于Android instrumentation 测试, 其又基于JUnit 测试。说白了, CTS 就是一堆单元测试用例。这也是java 语言的擅长部分。 2、 Monkey工具,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 3、ASE,ASE 意思为Android 脚本环境, 即我们可以通过脚本(比如Python)调用Android 的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。我们可以扩充它的API(Java 部分), 并用python 脚本调用这些API, 从而实现丰富的测试功能。用于API 部分可以访问到Android 全部API, python 又能灵活部署测试,所以ASE 的扩展性非常好。 4、Robotium,该工具用于黑盒的自动化测试。可以在有源码或者只有APK 的情况下对目标应用 进行测试。Robotimu 提供了模仿用户操作行为的API,比如在某个控件上点击,输入Text 等等。(推举你可以研究一下这个工具,开源的,我有资料) 5、可以自己开发一个手机方面的自动化测试工具,原理上一样的 如果你想要什么资料的话或者想一起学习研究的话,可以给我发邮件:[email protected]
‘贰’ 求助,现在可行的python电脑端向android端移植的方案
在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非常好的谨宽咐库
android官巧兄方目前没有支持在android设备运行python,但是网上有一些项目组做了这个事情 这个链接就提供好几个项目,我稍微尝试了 Kivy 这种方式, 需要安装
的祥纯东西太多,就放弃了. 推荐 这种方式,使用 qpython 项目, 可以用非常少的付出得到 android 上可以运行的 python 环境.
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我尝试的时候,直接运行 python (其实是运行 /data/data/com.hipipal.qpyplus/files/bin/python ) 会报错: error: only position independent executables (PIE) are supported. 我测试的设备是 Nexus 6 , android 6.0 , 在
这些比较新的 android 系统上有保护,需要可执行程序使用 -PIE 进行编译,否则无法运行. 但我发现同样的目录下 python-android5 是可以运行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 这样后面就可以直接运行 python 了.
‘叁’ 编程:python怎么调用android的API
1、下载相关软件包
下载地址:(http://code.google.com/p/android-scripting/downloads/list),我们需要下载如下几个文件:
并将这5个文件复制到 Android SDK目录下,(我这里复制到/opt/android-sdk-linux/platform-tools , adb工具现在被放在platform-tools下,而不是原来的tools目录)
3、安装Python
回到虚拟器,点击图标,进入程序菜单界面。
4、import Android,即可调用各个类。
‘肆’ 如何Python写一个安卓APP
开发一个完整app需要掌握哪些知识
1、前期需求规划与信息——你需要制定出一个完整的需求文档,功能文档,袭肢缺流程图,时序图。
2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要你懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便你的app能完美适应不同分辨率设备。其中交互设计需要你懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要你掌握Photoshop和Illustrator等操作。
3、使用ADT之类的开发环境进行app软件开发,你最基本的也得掌握java语言,熟悉android环境和机制。
4、如果不是单机版的app,需饥袭要用到服务器,那你还得掌握WebService相关知识和开发语
言,常用的有ASP.Net,PHP,JSP等。
5、熟悉并能开发数据库。
6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。
7、熟悉API接口开发,这里包括你自行开发API的能力以及调用第三方API的经验。
8、熟悉TCP/IP,socket等网络协议和相关知识。
9、熟练掌握App发布的流程,真机调拍辩试技巧,证书,打包,上架。 App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的app开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。
‘伍’ 怎么用python编android app
前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行。
既然要写个APP,那么总得要有个想法吧。
其实笔者想做两个APP来着,一个是自己写着好玩的,一个是关于运维的。
关于运维的APP,设计应该如下
可能长这样:
主要由三部分组成,一是素材,图片音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像html中的css。
Python代码的文件名一般命名为main.py
然后一定有一个叫做XXXApp的类,并继承App。
比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。
比如设定一个标签
Label:
id: time
text: 'xxxx'
font_size: 6012345
id为time,text文本内容为’xxxx’,然后字体为60
好吧,点到为止吧,不过似乎什么都没点到~~~
从无到有做一个App,我想我会另起一篇文章吧。