上一阶段已完成了ui自动化测试和接口自动化测试框架的搭建,但是对于app的自动化测试一直没有开展,这个星期利用空闲的时间各种瞎搞,终于将框架搭建完成,同时在这里记录一下搭建过程,仅供参考。

工欲善其事,必先利其器,所以我们将要使用到的工具先准备好,以便后续直接使用。

1、pycharm(2023.1.2)

2、python(3.8)

3、Appium-windows(1.15.1)

4、jdk(1.8.0_131)

5、androidsdk

6、Appium_Python_Client

由于做前面的项目,我已安装pycharm、python、jdk,所以只需要另外安装Appium-windows和安卓sdk、Appium_Python_Client就可以了。Appium_Python_Client主要是用于调用客户端库和 Appium Server 进行通信,解压出来之后在cmd命令行输入python setup.py install就可以安装了。

在这里插入图片描述

安装完成后打开appium是下面这样的,不用管主机和端口,直接启动服务器。

安装好所有软件后,我们需要将手机连接上电脑,并且需要打开手机设置里面的开发者模式,然后允许usb调试,测试是否连接成功,在终端输入‘adb devices -l’,查看连接的设备;注意需要先进入到安装sdk的adb.exe目录。

打开pycharm,新建一个项目,我们的思路是使用unittest来管理测试用例,使用HTMLTestRunner来执行用例并生成测试报告。因为想要做得细致和灵活一点,我们将每一个要使用到的元素作为一个对象,针对每个对象创建它自己要用到的方法。后续元素有变动的化就只要改一个地方就可以了。

 我们先创建好目录

 report主要存放自动生成的测试报告

test_case存放我们测试用例信息

case 存放的是可只需的用例脚本

models存放的是项目的配置信息

page_obj存放的是页面元素和对应的方法

以app的登录页面为例,我们先在driver文件里面初始化参数和环境,每一个app都有appPackage、appActivity,那应该在哪里查看呢?
打开终端输入(手机需要连接电脑)

adb shell dumpsys activity recents | find “intent={”

在这里插入图片描述

 

cmp=tv.danmaku.bili/.ui.splash.SplashActivity就是我们需要的appPackage、appActivity了
appPackage = tv.danmaku.bili
appActivity = .ui.splash.SplashActivity


然后将各个参数填写完成就可以了。

接着我们在base.py里面创建一个Base类,在init初始化方法中,定义driver类型,后续调用这个类的时候都会自动初始化driver.

 

然后针对每一页面创建一个类,将这个页面要用的所有元素都放到这个类里面,并且把这些元素的操作写成独立的方法。

 

 有了元素的操作方法,我们在写用例脚本的时候直接调用这些方法就可以了。

 最后是使用unittest管理用例,使用HTMLTestRunner执行用例并生成测试报告。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐