Skip to main content

Simple Automated Testing.

Project description

DreamMultiDevices

基于Python/Airtest/Unittest的自动化多设备测试

1.本框架由无声编写,落落测试。 须事先安装如下环境:python3.6以上、airtest、pocoui、BeautifulReport、unittest。须在系统里有适用的adb.exe环境变量。 下载以后,丢到python\Lib\site-packages\ 目录下就好了。

2.config.ini。整个项目的配置文件。

[config]
packName填写待测试包名,str;
deviceslist填写测试设备名,以逗号分隔,(PS:如不想使用配置,留空即可,则读取当前所有已连接的设备)元组;
apkpath填写待测试应用的安装地址,须使用绝对路径,str;
testcase填写期望测试的用例id,须是一个int元组,RunTestCase函数会比对testcase元组与TestCase目录下的TC_*.py文件,在元组内的用例才会被测试;
needclickinstall和needclickstartapp 填写True或False,设置是否需要安装点击或运行点击,不为True则不执行;
timeoutperaction填写全局sleep时间,int;
timeoutofstartapp填写安装app等待时间,int;
iteration填写权限脚本循环次数,int。

[TestCaseforDevice]
按设备配置执行用例,不填则默认全部

3.start.py。可以使用pycharm运行,也可以在cmd运行。当通过cmd运行时,请务必先cd到根目录,否则会出现找不到模块的情况。

4.core/index。index是整个框架的索引,负责根据devices分发进程,让每个设备各自去运行enterprocess()函数。该()函数里进行设备的初始化,在确保初始化成功、安装包成功的情况下,启动待测试apk并调用RunTestCase函数,进行测试用例的分发。

5.core/MultiADB Madb类,集成了各个与device有关的方法。

6.tools/PushApk2Devices负责安装apk到设备上,会先判断待测包是否已存在,存在则删除并重装,重装时会自动调用inputThread进行安装权限的点击。这里的代码需要用户自行完成,具体写法请参考inputThread里已经提供的示范代码。

7.tools/StartApp。StartApp负责启动apk,然后会进行应用开启权限的点击,此处代码也需要用户自行完成。

8.core/RunTestCase。RunTestCase是运行测试用例的分发函数,读取之前配置表上的testcase元组并与TestCase目录下的文件进行比对,一致的则列入测试范围。

9.TestCase目录。本目录下放置所有的待测试用例。用例须以TC_开头,用例采用标准的unittest格式。每条用例的执行结果会是一个suite对象,并在全部执行完以后,聚合到RunTestCase的report对象上。

10.TestCast/TC_******.py 单个用例的执行文件,由用户自行编写,最后须符合unittest格式。特别要说明一点,BeautifulReport的默认截图方法是异常时触发语法糖截图。使用时略有不便,我新增了GetScreen()函数,可以在任意需要时实时截图。

11.Report/Html报告。RunTestCase使用BeautifulReport库进行报告输出。输入内容在\Report目录下。以设备名和时间命名。相关截图则存储在Report\Screen目录下。

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

DreamMultiDevices-0.11.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

DreamMultiDevices-0.11-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file DreamMultiDevices-0.11.tar.gz.

File metadata

  • Download URL: DreamMultiDevices-0.11.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

File hashes

Hashes for DreamMultiDevices-0.11.tar.gz
Algorithm Hash digest
SHA256 3cda0ceda259b2bd3b9b31a8dcbb75143d7b6002a0129db0f380f9fddd195fe0
MD5 60a94ba3a41022a64599289ca1fafa87
BLAKE2b-256 25a15fc256f142e2e30c6c1a0c55a9c9410d20047d86089eb1f322ac39f8844f

See more details on using hashes here.

File details

Details for the file DreamMultiDevices-0.11-py3-none-any.whl.

File metadata

  • Download URL: DreamMultiDevices-0.11-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

File hashes

Hashes for DreamMultiDevices-0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 5c3ff2e6eaff9dc79f9782272f3711b8048192b7056accf29082e34e55e6abd3
MD5 5b5575e8898db9633a5a9101b1830bf6
BLAKE2b-256 32200c44498ebd55ca631b7bc2cea85f0ac6d2d33898fdb661905d802259028b

See more details on using hashes here.

Supported by

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