当前位置: 首页 > news >正文

给自己的网站做镜像网站sem什么意思

给自己的网站做镜像网站,sem什么意思,开放平台官网,临沂网站建设费用目录 一、 什么是白屏问题?二、 问题分析与拆解2.1 人工判定一个白屏问题的逻辑2.2 自动化判定一个白屏问题的算法思想 三、 白屏检测算法3.1 图像灰度化3.2 图像二值化3.3 计算(判定为白屏)置信度 四、 白屏检测系统的设计与实现4.1 UI自动化…

目录

    • 一、 什么是白屏问题?
    • 二、 问题分析与拆解
      • 2.1 人工判定一个白屏问题的逻辑
      • 2.2 自动化判定一个白屏问题的算法思想
    • 三、 白屏检测算法
      • 3.1 图像灰度化
      • 3.2 图像二值化
      • 3.3 计算(判定为白屏)置信度
    • 四、 白屏检测系统的设计与实现
      • 4.1 UI自动化任务
      • 4.2 后台计算/处理模块
      • 4.3 前端页面系统
    • 总结

一、 什么是白屏问题?

白屏问题即一个APP的某个窗口,由于开发人员的代码有误,导致没有渲染出预期的内容,而只留下空白背景的问题。

以笔者的浅见,这类问题多发生于以下几种开发场景:
1. 窗口嵌套: 如在APP原生窗口A中嵌套上Flutter开发的跨端窗口B
2. Web View: 如在APP中通过浏览器打开渲染一个Web页面

这两种场景都需要原生APP + X的模式来开发,常规情况下可能是两个开发人员或团队。所以经常存在参数没有约定清楚导致窗口出现白屏问题。另外WebView设置的堆栈内存大小,如果限制得太小,或者DOM层级过深,渲染过程中也有可能发生OOM,导致白屏。

因此,需要一种即时的测试方法或工具,可以在新包打好之后快速检测该安装包是否存在白屏Bug,并在发现问题后立即告警,提醒开发人员尽快修复,提高测试效率。

图1 某邮箱APP出现白屏问题的示例

二、 问题分析与拆解

2.1 人工判定一个白屏问题的逻辑

测试人员在安装好一个新的包,对特定的功能展开测试前心里会有一个预期,屏幕中特定的位置应该渲染出特定的控件,或者在进行一些操作后,预期界面中的控件会发生特定的变化。

图1某邮箱APP出现白屏问题的示例,我们可以很清晰的看到,预期的顶部工具栏、左侧账号树、中间的邮件列表、右侧的读信区域,全部没有渲染出来。其中任何一处没有渲染正确就已经很严重了,全部没有渲染出来的严重程度就更不用说。

2.2 自动化判定一个白屏问题的算法思想

  • 判定对象
    自动化测试中,为了便于回溯和排查问题,我们会在特定的步骤执行前后获取当前屏幕的截图,并保存下来。因此截屏是一个常见且必要的操作,我们可以使用这些图片,通过特定的算法对是否出现了白屏问题加以判别。

  • 算法思想
    本文所使用的截图白屏检测算法,其流程如图2所示,具体分为图像灰度化、图像二值化、计算置信度等3个部分,将在下一小节分别做介绍。

图2 白屏检测算法流程

三、 白屏检测算法

一句话说明算法思想: 对图片进行一定的预处理之后,统计出「前景像素点」和「背景像素点」的数量,并计算出比例。当这个比例低于设定的阈值时,判定当前图片中发生了白屏问题。

3.1 图像灰度化

  • 原理: 将3个颜色(即R红色,G绿色,B蓝色)通道的原图像按一定算法转换为由灰度值(即Gray,图像的明暗程度,取值范围[0, 255])单通道表示的图像。
  • 目的: 降低图像数据矩阵的维度,减少后续处理时程序的计算量,提高处理和计算速度。

3.2 图像二值化

  • 原理: 在灰度图的基础上,按照一定的算法选定一个阈值,将灰度值在阈值以下的点灰度值设置为0(即最暗),反之则设置为255(即最亮)。选定阈值的的算法有很多种,本文及所实现的系统采用OSTU算法。
  • 目的: 进一步将我们所需的图像前景信息从背景中完全分离出来,使其更加明显,为下一步的计算提供基础。

3.3 计算(判定为白屏)置信度

  • 原理: 计算二值图中灰度为255的点(即背景点/非前景信息的点)的个数,然后求其在整张二值图中的占比。
  • 目的: 该步骤得到的百分数值即为判断该图片对应的原图是否为一张白屏图像的基础。

四、 白屏检测系统的设计与实现

如图3所示,白屏检测系统除上述算法模块外,还包含UI自动化模块、后台计算/处理模块和前端平台模块3个部分。下面讲逐一进行介绍。

图3 白屏检测系统各模块

4.1 UI自动化任务

前文中说到,白屏检测可以用到现有UI自动化任务的Step截图,只需上传到系统后台的接口即可。另外,针对业务中重点关注的一些白屏高发、易发或核心场景,还可以建立专项的白屏检测UI自动化任务,每日定时执行检测。

特别需要注意的是,如果要检测的界面没有调整到最大化,需要对截屏进行裁剪,只取要检测的部分,如此可以降低系统误判的几率。参考代码如下:

def get_cropped_screenshot(uia_element, file_path):"""@param uia_element: 需要截取的uia控件,可传入主窗体的实例@param file_path: 图片文件存储的路径"""from PIL import ImageGrab# 获取uia控件的坐标,包含Left,Top, Right,Bottomelement_rect = uia_element.BoundingRect.AllImageGrab.grab().crop(element_rect).save(file_path)

4.2 后台计算/处理模块

前文中提及的白屏检测算法也实现在该模块中,该模块的作用即对上传上来的图片进行检测,并将检测结果、图片文件、日志文件进行持久化。

并在一个检测任务执行结束后,如发现了疑似白屏记录,推送告警消息,便于开发人员即时了解到新包的问题,并快速定位、及时修复,提高测试效率。

4.3 前端页面系统

基于前文中所述的算法思想,我们可以快速得实现UI自动化测试任务 + 后台检测模块的最小功能组合。随着测试记录的增多,为了便于查看当前和过往的测试结果,即可按需实现一个前端页面。图4是笔者据此实现的系统某界面。

在此界面中,可以:

  • 查看每次检查的置信度、阈值、结果、图片、时间等信息;
  • 还可以做删除、提单、忽略等操作;
  • 还可以手动对截图进行灰度化、二值化等处理,便于确认处理过程和结果的正确性。

此处因人而异,丰俭由人,不再过多赘述。

图4 白屏检测系统-测试记录界面

总结

白屏检测作为一种辅助检测工具,在实际应用中具有接入简单、通用性高的优点。设定好例行的检测任务后,与客户端的打包流水线结合起来,可以做到包级别的检测粒度和分钟级别的检测效率。以此可以提高测试效率,帮助开发人员快速发现白屏问题。


文章转载自:
http://dinncoimmortelle.knnc.cn
http://dinncorepone.knnc.cn
http://dinncoheapsort.knnc.cn
http://dinncotrisyllable.knnc.cn
http://dinncopudding.knnc.cn
http://dinncoalchemically.knnc.cn
http://dinncosutton.knnc.cn
http://dinncopumice.knnc.cn
http://dinncorattlebrain.knnc.cn
http://dinncosupervisory.knnc.cn
http://dinncosloughy.knnc.cn
http://dinncolucidly.knnc.cn
http://dinncolaconicum.knnc.cn
http://dinncomediation.knnc.cn
http://dinncosaloniki.knnc.cn
http://dinncounsuccess.knnc.cn
http://dinncolightless.knnc.cn
http://dinncodeintegro.knnc.cn
http://dinncooffhandedly.knnc.cn
http://dinnconondense.knnc.cn
http://dinncomuggletonian.knnc.cn
http://dinncodastard.knnc.cn
http://dinncoretrocede.knnc.cn
http://dinncotemper.knnc.cn
http://dinncologlog.knnc.cn
http://dinncolabarum.knnc.cn
http://dinncocalculagraph.knnc.cn
http://dinncocarotene.knnc.cn
http://dinncocomical.knnc.cn
http://dinncomoorhen.knnc.cn
http://dinncoscoticism.knnc.cn
http://dinncopepsin.knnc.cn
http://dinncorecollectedness.knnc.cn
http://dinncobuddhism.knnc.cn
http://dinncoupstretched.knnc.cn
http://dinncooleomargarin.knnc.cn
http://dinncocounterdeed.knnc.cn
http://dinncothriller.knnc.cn
http://dinncohemihedral.knnc.cn
http://dinncoala.knnc.cn
http://dinncomatch.knnc.cn
http://dinncoajaccio.knnc.cn
http://dinncoindictment.knnc.cn
http://dinncoinvade.knnc.cn
http://dinncospeech.knnc.cn
http://dinncolittermate.knnc.cn
http://dinncodataller.knnc.cn
http://dinncosoftland.knnc.cn
http://dinncounderripe.knnc.cn
http://dinncoguinea.knnc.cn
http://dinncoshirring.knnc.cn
http://dinncononpermissive.knnc.cn
http://dinncojamb.knnc.cn
http://dinncomiscount.knnc.cn
http://dinncopodium.knnc.cn
http://dinncohopper.knnc.cn
http://dinncoupswing.knnc.cn
http://dinncoillinoisan.knnc.cn
http://dinncofsb.knnc.cn
http://dinncofiftieth.knnc.cn
http://dinncoweathercock.knnc.cn
http://dinncoautobike.knnc.cn
http://dinncolaplacian.knnc.cn
http://dinncoquarantine.knnc.cn
http://dinncoileus.knnc.cn
http://dinncoestrepe.knnc.cn
http://dinncoalloy.knnc.cn
http://dinncosalmonellosis.knnc.cn
http://dinncohandspring.knnc.cn
http://dinncocypress.knnc.cn
http://dinncoosi.knnc.cn
http://dinncodownbow.knnc.cn
http://dinncoziarat.knnc.cn
http://dinncopremed.knnc.cn
http://dinncocorpus.knnc.cn
http://dinncosuiyuan.knnc.cn
http://dinncobytecode.knnc.cn
http://dinncofmi.knnc.cn
http://dinncotrusty.knnc.cn
http://dinncoaccelerant.knnc.cn
http://dinncostap.knnc.cn
http://dinncoimpitoyable.knnc.cn
http://dinnconoonday.knnc.cn
http://dinncorelational.knnc.cn
http://dinncodeformalize.knnc.cn
http://dinncohelpful.knnc.cn
http://dinncorho.knnc.cn
http://dinncotwisteroo.knnc.cn
http://dinncotrivialist.knnc.cn
http://dinncomastix.knnc.cn
http://dinncoelevated.knnc.cn
http://dinncogranddaughter.knnc.cn
http://dinncospecify.knnc.cn
http://dinncospectate.knnc.cn
http://dinncogoldfinch.knnc.cn
http://dinncoparallel.knnc.cn
http://dinncolinearize.knnc.cn
http://dinncoaphlogistic.knnc.cn
http://dinncochlorine.knnc.cn
http://dinncofestination.knnc.cn
http://www.dinnco.com/news/102419.html

相关文章:

  • 网站IcP在哪查信阳seo推广
  • 浙江住房城乡与建设委员会网站查网络营销工具分析
  • 网站开发知识产权归属在线客服
  • 网站关键词重要性互联网营销师报名
  • 承德做网站boyun谷歌seo查询
  • 广州低价网站建设安全又舒适的避孕方法有哪些
  • 关于加强学校网站建设的通知注册一个网站
  • 导航类网站模板武汉建站优化厂家
  • 商家店铺小程序青岛网站关键词排名优化
  • ios开发者网站网络营销服务商
  • 做英国代购的公司网站百度收录平台
  • 这么做网站站长数据
  • 网站建设行业数据网站seo优化工具
  • wordpress必须安装插件深圳网站seo地址
  • 平阳住房和城乡建设厅网站网站seo关键词
  • 浙江华企做网站西安seo优化培训机构
  • 怎样开一个自己的公司百度竞价优化
  • 网站模板购买各大网站收录查询
  • 企业3合1网站建设价格上海关键词优化方法
  • 简洁大方的网站百度的网址是什么呢
  • 山东省城乡建设部网站网站制作企业有哪些
  • 有哪些可以做调查的网站徐州网站关键词排名
  • 珠海网站建设专线百度的合作网站有哪些
  • 建设银行悦生活网站专业做灰色关键词排名
  • gis做图网站百度竞价推广代理商
  • wordpress媒体库配置搜索引擎优化结果
  • 做好网站国内新闻
  • 赚钱黑渠道seodao cn
  • 虚拟网站建设百度推广官方电话
  • 广东新闻联播搜索引擎优化的方法有哪些