自动化测试脚本

news/2025/9/24 21:15:52/文章来源:https://www.cnblogs.com/wqwq1122/p/19109994

$language = "python"

$interface = "1.0"

import sys
reload(sys)
sys.setdefaultencoding('utf-8') # 设置默认编码为UTF-8

import re # 必须导入正则模块
global left
global right
global complete
clkfrequency = 0 # 初始化全局变量
left = "" # 新增全局变量初始化
right = "" # 新增全局变量初始化
commands = [
"ddr_g12_offset_data 1 0x40 0 0 1 16",
"ddr_g12_offset_data 2 0x0 0 0 1 16",
"ddr_g12_offset_data 3 0x0 0 0 1 16",
"ddr_g12_offset_data 101 0x40 0 0 1 16",
"ddr_g12_offset_data 102 0x0 0 0 1 16",
"ddr_g12_offset_data 103 0x0 0 0 1 16"
]# 左移指令
commands1 = [
"ddr_g12_offset_data 1 0x40 0 0 2 16",
"ddr_g12_offset_data 2 0x0 0 0 2 16",
"ddr_g12_offset_data 3 0x0 0 0 2 16",
"ddr_g12_offset_data 101 0x40 0 0 2 16",
"ddr_g12_offset_data 102 0x0 0 0 2 16",
"ddr_g12_offset_data 103 0x0 0 0 2 16"
]# 右移指令
def switch(choice):
global clkfrequency
global left
global right
while True:
crt.Screen.Send('reboot '+'\r')
if crt.Screen.WaitForString("Set ddr clk to", 8):
break
while True:
crt.Screen.Send(chr(3))
if crt.Screen.WaitForString("", 1):
break
if choice == 1:
for cmd in commands:
crt.Screen.Send(cmd + "\r")
if not crt.Screen.WaitForString("# ", 4): # 超时 3 秒
break
crt.Sleep(1000) # 可选:短延时
crt.Screen.Send('run bootcmd '+'\r')
if crt.Screen.WaitForString("!=bootcmd", 1):
crt.Sleep(1000)
else:
while True:
crt.Screen.Send('setprop debug.temp.superroot 89243347'+'\r')
crt.Screen.Send('imbug 1379'+'\r')
crt.Screen.Send('echo 0 > /proc/sys/kernel/printk'+'\r')
crt.Screen.Send('getprop sys.boot_completed;output=$(getprop sys.boot_completed);echo "zhuangtai["$output"]"'+'\r')
if crt.Screen.WaitForString("zhuangtai[1]", 3):
crt.Screen.Send('/data/amlogic_ddr_stressapptest -s 36000 -i 2 -m 2 -M 300 -W '
'--pause_delay 10 --pause_duration 1 --max_errors 3 --printsec 5'+'\r')# 左移指令
if crt.Screen.WaitForString("Status: PASS"):
left="PASS"
break
else:
if crt.Screen.WaitForString("Status: FAIL"):
left="FAIL"
break
elif choice == 2:
for cmd in commands1:
crt.Screen.Send(cmd + "\r")
if not crt.Screen.WaitForString("# ", 4): # 超时 3 秒
break
crt.Sleep(1000) # 可选:短延时
crt.Screen.Send('run bootcmd '+'\r')
if crt.Screen.WaitForString("!=bootcmd", 1):
crt.Sleep(1000)
else:
while True:
crt.Screen.Send('setprop debug.temp.superroot 89243347'+'\r')
crt.Screen.Send('imbug 1379'+'\r')
crt.Screen.Send('echo 0 > /proc/sys/kernel/printk'+'\r')
crt.Screen.Send('getprop sys.boot_completed;output=$(getprop sys.boot_completed);echo "zhuangtai["$output"]"'+'\r')
if crt.Screen.WaitForString("zhuangtai[1]", 3):
crt.Screen.Send('/data/amlogic_ddr_stressapptest -s 36000 -i 2 -m 2 -M 300 -W '
'--pause_delay 10 --pause_duration 1 --max_errors 3 --printsec 5'+'\r')# 左移指令
if crt.Screen.WaitForString("Status: PASS"):
right="PASS"
break
else:
if crt.Screen.WaitForString("Status: FAIL"):
right="FAIL"
break
elif choice == 3:
crt.Screen.Send('ddr_test_cmd 0x37;g12_d2pll 1176 0x31 792 1800 0 0 1'+'\r')# 极限频率
elif choice == 4:
crt.Screen.Send('ddr_test_cmd 0x37;g12_d2pll 1176 0x11 0x7 0 0 0'+'\r')# windows

禁用回显提升速度(适用于已知稳定环境)

crt.Screen.Synchronous = True

设置屏幕缓存模式

crt.Screen.IgnoreEscape = True
switch(1)
switch(2)
switch(3)
switch(4)
crt.Sleep(10000)
if crt.Screen.WaitForString("Hello, we are", 3600):
current_session = crt.GetScriptTab()
currentname=crt.GetScriptTab().Caption
crt.Sleep(360000)
crt.Dialog.MessageBox(currentname+"脚本完成 左移:"+left+" 右移:"+right+" 极限频率:完成 windows:完成")
current_session.Session.Disconnect()

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

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

相关文章

建设工程合同备案网站wordpress 404页面

演讲嘉宾:易毅 总经理 广东芬蓝环境科技有限公司 演讲题目:成套低温烘干装备在发酵行业领域的节能创新应用 会议简介 “十四五”规划中提出,提高工业、能源领城智能化与信息化融合,明确“低碳经济”新的战略目标,热…

网站是哪个建站公司做的表白网站制作生成器

前言本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除。具体代码示例如下:imp…

解题报告-字符串(str.*)

字符串(str.*) 题目描述 Diaoyeye 正在研究字符串。nyx向他问了一个问题:有一个字符串𝑆,其中不同子串的 个数。 Diaoyeye 显然直接秒掉。他现在想问一问 nyx ,有一个字符串 \(𝑆\),从中选出两个子串 \(A\),\…

WPF Datagrid loaded 79M items in mvvm , Microsoft.Extensions.DependencyInjection

Install-Package Microsoft.Extensions.DependencyInjection; public async Task InitBooksCollection(){stopwatch.Start();BooksCollection = new ObservableCollection<Book>();List<Book> booksList =…

实用指南:python+django/flask的宠物救助及领养系统javaweb

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Linux 系统中的 /dev/disk/by-id/目录作用详解

Linux 系统中的 /dev/disk/by-id/目录作用详解Linux 系统中的 /dev/disk/by-id/目录是一个非常重要的组成部分,它能帮助咱们更稳定、更可靠地管理磁盘设备。下面我来为你详细解释它的作用和用法。 📁 一、/dev/disk…

万江专业网站快速排名个人免费网站注册

本研究的主要目的是基于Python aiortc api实现抓取本地设备媒体流&#xff08;摄像机、麦克风&#xff09;并与Web端实现P2P通话。本文章仅仅描述实现思路&#xff0c;索要源码请私信我。 1 demo-server解耦 1.1 原始代码解析 1.1.1 http服务器端 import argparse import …

glTF/glb:您需要知道的一切,怎么免费获取下载

有一种新的丰富 3D 模型格式,称为 glTF,并且一直在崛起。本文将告诉您有关 glTF 的所有信息,包括它是什么、为什么开发它以及谁在使用它。glb下载官网免费获取模型什么是glTF? GL 传输格式(简称 glTF)是一种开源…

成品网站短视频源码搭建网站建设培训 苏州

首次连接 打开装有 AirPods 的充电盒&#xff0c;并将它放在 iPhone 旁边。此时你的 iPhone 上将出现设置动画。轻点「连接」&#xff0c;然后轻点「完成」。 就这么简单&#xff0c;而且会自动设置&#xff0c;实现与已使用同一 Apple ID 登录 iCloud 的任一支持设备搭配使用…

3.HTTP/HTTPS:报文格式、技巧、状态码、缓存、SSLTLS握手

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

keepalived服务器

keepalived服务器keepalived高可用原理:搭建主、备服务器一样配置,在keepalived中配置相同的vip;主服务器发送“心跳消息”给备服务器,主服务器宕机,“心跳消息”停止发送,备服务器会让vip生效,产生“IP漂移”,…

外部 Tomcat 部署详细 - 实践

外部 Tomcat 部署详细 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

20231326《密码系统设计》第三周预习报告

20231326《密码系统设计》第三周预习报告20231326《密码系统设计》第三周预习报告 目录20231326《密码系统设计》第三周预习报告学习内容《Head First C 嗨翻 C 语言》第4章《Windows C/C++加密解密实战》第4章AI 对学…

吉林网站开发公司网站首页设计html代码

作者| Rohan Wadiwala、Mangesh More翻译 | 天道酬勤&#xff0c;编辑 | Carol出品| CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;在分析的世界中&#xff0c;网站的每次点击都是数据分析的候选对象&#xff0c;显然&#xff0c;这会涉及大量的数据生成。对于海…

做普工招聘网站上海汽车设计公司名单

静态长效代理IP和动态短效代理IP是两种常见的代理IP类型&#xff0c;它们在用途和适用场景上存在一定的差异。了解它们的特性以及使用场景有助于我们更好地利用代理IP&#xff0c;提高网络访问的效率和安全性。 一、静态长效代理IP 1. 用途 静态长效代理IP是指长期保持稳定的代…

深圳做网站专业的公司如何做英文网站推广

来源&#xff1a;数码之家文 | 禅哥这台机器在本人的eBay收藏夹里呆了很久&#xff0c;某日无意间扫了一眼收藏夹&#xff0c;突然发现卖家大降价&#xff0c;只要15刀&#xff0c;还有best offer选项。15刀你买不了吃亏&#xff0c;15刀你买不了上当。事不宜迟果断下手。根据非…

天津星创网站建设有限公司微信小商店分销系统

977. 有序数组的平方y 思路&#xff0c;原数组是有序的&#xff0c;但是因为负数平方后可能变无序了&#xff0c;因此利用双指针遍历原数组&#xff0c;比较 nums[left]*nums[left]和nums[right]*nums[right]谁更大&#xff0c;然后对新数组赋值 class Solution {public int…

FortiGate连接中国联通SDWAN

最近上线SAP,需要使用公司飞塔防火墙连接中国联通SDWAN,记录下过程吧。 飞塔防火墙型号F200E,有2条互联网带宽,需要分别与联通建立IPSEC+BGP连接。 联通会提供2个IPSEC配置信息+2个BGP配置信息 1,在飞塔完成2条IP…

第五章 运算符、表达式和语句

本章将介绍以下内容: 1、关键字——while、typedef; 2、运算符——=、-、*、/、%、++、--; 3、C语言的各种运算符,包括用于普通数学运算的运算符; 4、运算符优先级以及语句、表达式的含义; 5、while循环; 6、复…

wordpress 淘宝客网站模板平面设计与网页设计

Hi1102A和Hi1105V500都是属于海思旗下的两款WIFIBTGNSSFM四功能一体(江湖俗称四合一)高性能方案&#xff0c;应该可以推出&#xff0c;这个原本是在手机方案集成使用的&#xff0c;本身海思有视频安防主控HI315X系列平台&#xff0c;如果搭配上自己的无线phy芯片&#xff0c;一…