如何在车载中控上进行UI自动化测试


说到车载测试,很多人都很好奇,车载中控是否需要UI自动化测试,从市场反馈来说,在6-7年之前的车载中控测试就已经介入UI自动化测试,那时候还是使用java+UIautomator框架。现在大部分都已经更新为Python+Appium框架进行自动化测试。


01 项目需要的环境和软件准备

  1.  车机端:开启开发者模式,开启USB调试模式,用于adb的环境的连接。

  2. 电脑环境:

        ①、jdk环境搭建,需要有JAVA_HOME的环境变量。后续的 Appium server GUI的配置信息              会用到。 

        ②、adb环境搭建,使用adb devices识别到设备。 

        ③、appium server GUI,客户端程序,安装好即可,在配置信息中配置好JAVA_HOME 和              adb 环境变量。 

        ④、inspector 定位元素的工具,可以通过appium server GUI 的界面进入下载界面下载并安                装。用于界面的元素定位。 

        ⑤、python-3.11,pycharm-社区版本。python是编程语言,pycharm是编译环境。

 

0项目中需要使用库的安装

以项目创建在虚拟环境为例:

(1)如何快速进入项目环境目录

①、pycharm中-->控制台中-->terminal可以世界进入虚拟目操作命令 

②、右击项目目录-->open-->explorer,直接进入项目所在文件夹-->进入.\venv\Scripts目录,在地址栏输入cmd 回车,直接进入对应目录环境,执行activate.bat 进入虚拟环境-->执行pip 安装appium-python-client和selenium命令。

图片

(2) 基本使用的库

①、slenium :4.3.0/appium-python-client:2.6.0 安装appium-python-client的时候回自动安装对应版本的slenium(最新版),如果安装最新的,可以pip uninstall 卸载然后安装4.3.0 版本,其他库再需要使用的时候去安装即可。

②、 套用完成库文件 在别人完成配置的\venv\Scripts的虚拟环境中执行

图片

把requirements.txt 放在需要的项目的\venv\Scripts目录中,执行:

图片

0设计业务进行代码编程

# 导入时间模块,用于设置等待
from appium import webdriver


# 设置连接的设备信息
des_cap = {
    'platformName': 'Android',
    'appPackage': 'com.ximalaya.ting.android.car.business.module.home',
    'appActivity': 'com.ximalaya.ting.android.car.business.module.home.MainActivity',
    'udid': '192.168.43.29:7862',
    'appExecTimeout': 50000
}

# 连接设备
drive = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub', desired_capabilities=des_cap)

# 隐式等待
drive.implicitly_wait(3)

# 业务步骤:
# 1. 启动喜马拉雅
# 2. 点击儿童模式
# 3. 点击搜索按键
# 4. 点击输入框
# 5. 输入内容:冰雪大世界
# 6. 回车搜索
# 7. 清空数据

# 点击弹框上的“我同意”
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/tv_confirm').click()

# 隐式等待
drive.implicitly_wait(10)

# 点击儿童模式
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/iv_mode').click()

# 点击搜索图标
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/iv_search').click()

# 点击输入框,提前安装搜狗输入法
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/et_search').click()

# 输入内容:冰雪大世界
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/et_search').send_keys('冰雪大世界')

# 隐式等待
time.sleep(2)

# 清除输入的的数据
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/et_search').clear()

# 隐式等待
time.sleep(2)

# 点击取消,回到儿童模式
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/tv_cancel').click()

# 隐式等待
time.sleep(2)

# 切回普通模式
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/iv_mode').click()

# 隐式等待
time.sleep(2)

# 点击推荐
drive.find_elements('id', 'com.ximalaya.ting.android.dingwei:id/title_horizontal').click()

# 隐式等待
time.sleep(2)

# 点击播放按键
drive.find_element('id', 'com.ximalaya.ting.android.dingwei:id/tv_track_play').click()

 

以上就是车载中控UI自动化测试基本准备和操作,有条件的可以进行练习。工作中的UI自动化测试可能还会需要用到yaml数据文件管理,PO封装模式,Pytest框架等技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值