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

news2024/12/26 10:43:09


说到车载测试,很多人都很好奇,车载中控是否需要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框架等技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fiddler安卓设备抓包基础

Fiddler安卓设备抓包基础 一、下载二、Fiddler设置三、安卓设备设置四、Fiddler工具页面介绍 一、下载 工具名称:Fiddler 下载地址:官网 二、Fiddler设置 1.打开Fiddler 2.打开Tools > Options > Connections进行如下设置,Fiddler…

【C++ Primer Plus习题】10.7

问题: 解答: main.cpp #include <iostream> #include "plorg.h" using namespace std;int main() {plorg p("Plorga");p.showCI();p.setCI(10);p.showCI();return 0; }plorg.h #pragma once#define SIZE 19 class plorg { private:char m_fillName…

allegro约束管理器的学习

1&#xff09;差分线neck mode的使用 2&#xff09;走线区域规则和间距区域规是不同的 3&#xff09;创建区域规则的步骤 分为三个步骤 1在spacing中创建一个区域规则&#xff1b; 2在region中把区域规则赋予它&#xff1b; 3在pcb中&#xff0c;创建一个constraint region sha…

中国次生林林龄分布数据(2020年)

次生林年龄的全国分布对于了解中国森林生态系统和碳储量至关重要。该数据集采用了一种数据驱动的方法&#xff0c;用于提高植被变化跟踪器和连续变化检测与分类算法的性能&#xff0c;通过使用变化检测算法和密集的陆地卫星时间序列来确定次生林的建立时间。 该数据集主要以tif…

实践reflex:以Personalized Sales个人销售网站为例

reflex 是一个使用纯Python构建全栈web应用的库&#xff0c;但是需要使用node&#xff0c;所以你懂的。 官网&#xff1a;Reflex Web apps in Pure Python 手册&#xff1a;Introduction Pynecone: Pynecone 是一个全栈 Python 框架&#xff0c;可以使用纯 Python 构建高性…

2024级新生数组字符串专题题解

一、题解&#xff1a; 1.A-[NOIP2005]校门外的树_24级新生数组字符串训练题 (nowcoder.com) 这题常见的解法有两种&#xff1a; 第一种是这道题我们可以直接按照题目意思枚举 #include<bits/stdc.h> #define int long long using namespace std;int road[10010];sig…

HarmonyOS开发实战( Beta5.0)DevEco Device Tool开发环境搭建实践

通常在嵌入式开发中&#xff0c;很多开发者习惯于使用Windows进行代码的编辑&#xff0c;比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段&#xff0c;大部分的开发板源码还不支持在Windows环境下进行编译&#xff0c;如Hi3516、Hi3518系列开发板。…

Django+Vue3前后端分离学习(五)(前端登录页面搭建)

1、如果需要使用组合式API&#xff0c;需要安装插件&#xff1a; npm install vite-plugin-vue-setup-extend --save-dev 在vite.config.js里配置&#xff1a; 首先导入: import VueSetupExtend from vite-plugin-vue-setup-extend 添加&#xff1a; 2、创建login.vue 然…

C语言刷题日记(附详解)(4)

一、选填部分 第一题: 下面四个选项中&#xff0c;均是不合法的用户标识符的选项是( ) A. A P_0 do B. float la0 _A C. b-a sizeof int D. b_a temp _123 思路提示&#xff1a;题中所问的是"不合法"的"用户标识符"&#xff0c;要记得&#xff0c;C…

4区升3区的“灌水王者”!7个月还未送审被人评为“小牌大耍”?急投学者注意

【SciencePub学术】本期&#xff0c;给大家介绍的是1本计算机类的SCI——《JOURNAL OF SUPERCOMPUTING》。 优点VS缺点 • 期刊投稿难度较小&#xff0c;接受率较高 • 国人投稿友好&#xff0c;且已经稳定检索了28年 • 去年由中科院4区升为3区 • 普遍反映这本期刊审稿周期…

项目总体框架

一.后端&#xff08;包装servlet&#xff09; 使用BaseServlet进行请求的初步处理&#xff08;利用继承进行执行这个&#xff09; 在BaseServlet中 处理请求的类型找到对象的方法&#xff0c;并使用注解找到参数名&#xff0c;执行参数自动注入。 package com.csdn.controlle…

JAVA数据导出为Excel

目录 一、导入依赖 二、使用的相关类 1、XSSFWorkbook 构造方法 创建表 操作表 保存表 样式和格式 日期处理 密码保护 其他 2、XSSFSheet 获取属性和信息 行操作 列操作 表的属性 合并单元格 保护表 页眉和页脚 注释 其它 3、XSSFRow 获取属性和信息 单…

Redis 常用命令总结

文章目录 目录 文章目录 1 . 前置内容 1.1 基本全局命令 KEYS EXISTS ​编辑 DEL EXPIRE TTL TYPE 1.2 数据结构和内部编码 2. String类型 SET GET MGET MSET SETNX INCR INCRBY DECR DECYBY INCRBYFLOAT 命令小结 内部编码 3 . Hash 哈希类型 HSET …

如何用python远程测试连接redis服务器

前提条件 A&#xff1a;操作机&#xff08;操作系统不限&#xff09; B&#xff1a;装有redis的服务器&#xff08;linux系统&#xff09; 而且需要配置redis服务器允许外部连接。这个一般是在redis的配置文件里修改相关选项。redis.conf或者6379.conf就是redis的配置文件 b…

备考MS office 二级

word 1、分页符 布局-分隔符-分节符-下一页&#xff1a;第二张可以不同纸张大小、方向等 2、调整宽度&#xff1a;新文字宽度&#xff08;字符宽度&#xff09; 中文版式 3、字符间距 4、文本转换为表格 1、把 || 替换为逗号&#xff0c;方便查找 5、首字下沉 插入 - 首字下沉…

ActiveMQ 反序列化漏洞复现(CVE-2015-5254)

一、漏洞前言 Apache ActiveMQ是美国阿帕奇&#xff08;Apache&#xff09;软件基金会所研发的一套开源的消息中间件&#xff0c;它支持Java消息服务&#xff0c;集群&#xff0c;Spring Framework等。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞&#xff0c;该漏洞源于程…

一篇python常见的Pandas的数据功能的使用

当我们学习了如何使用 Pandas 进行数据的导入与导出,这为我们后续的数据处理打下了基础.此次我们将重点讨论数据选择与过滤.通过掌握这一部分的知识,你将能够轻松地从复杂的数据集中提取出所需的信息.接下来,我们将通过一些实例来逐步了解这些操作. 数据选择 数据选择主要是针…

二分查找 ,看这一篇就够了

什么是二分查找&#xff1f; 二分查找&#xff08;Binary Search&#xff09;是一种高效的查找算法&#xff0c;适用于在有序数组中查找特定元素。其基本思想是通过逐步缩小查找范围&#xff0c;每次将查找区间减半&#xff0c;从而大大提高查找效率。二分查找的时间复杂度为O(…

B样条曲线测试

实验效果&#xff1a; 绿色为A*规划的路径&#xff0c;蓝色为Bspline曲线 介绍 对A* 生成的路径进行B样条&#xff08;A* 和Bspline都是佬们写好的&#xff0c;我直接拿来用&#xff09; 样条曲线相关可参考文章&#xff1a;详解样条曲线&#xff08;上&#xff09;&#x…

基于LaMA-Factory微调llama3.1-8B

大模型的训练目前主要分为Pre-training和Post-training&#xff0c;受限于资源算力等原因&#xff0c;实际工作中更多用到的是SFT。 对于普通用户来说SFT仍然具备较高的门槛&#xff0c;需要了解一定的理论基础&#xff0c;准备用于微调的数据&#xff0c;由于不同基座模型相应…