评论

【持续更新】Minium常见问题总结

汇总常见的minium问题

如何元素定位

首先找到该元素,(微信开发工具 > 调试器 > Wxml)

根据元素不同位置、属性、标签等,自行选择元素定位方式,支持

  • 选择器 selector (id/class/标签/属性等)
  • 选择器 selector + inner_text/text_contains/value
  • XPath定位

参考 简单选择器get_element()参数说明

如何选择定位元素方式

  • 有自定义组件元素
    • 使用[>>>]连接自定义组件及其后代元素
      custom-element1>>>.custom-element2>>>.the-descendant
      custom-element1.custom-element2必须是自定义组件标签或者能获取到自定义组件的选择器
    • 先get自定义组件, 再使用Element.get_element获取其子节点
    • XPath定位
  • 普通元素
    • XPath定位
    • 选择器 selector(ID选择器/class选择器/标签选择器/子元素选择器/后代选择器/多选择器的并集)

为什么小程序底部菜单栏页面跳转失败

例如以下报错信息
minium.framework.exception.MiniAppError: can not redirectTo a tabbar page

该页面为tabbar页面,需调用switch_tab()跳转 注:页面url前面需加上 “/”

自定义日志信息

Minium框架提供Logger类,自定义各级别日志信息

self.logger.info("")
self.logger.debug("")
self.logger.warn("")
...

用例执行耗时优化

缩短元素查找时间

例如该用例中获取元素方式,查找慢,会导致用例执行时长长
self.page.get_element("view", inner_text="xxx", max_timeout=5)

元素定位用基础标签view、text方式,时间相对会长,建议用特别的class等css选择器定位,或者尝试用xpath(//view)

Minium底层优化

为减少用例耗时及执行效率,Minium底层做了一些优化

  • 元素定位优化

原先get_element匹配text的流程是先get_element再判断其text属性是否匹配,然后筛选出一个合适的element。这个流程会导致多次通信
优化后将筛选流程放在小程序侧进行,可以减少交互通信时间,增加效率

  • 处理授权弹窗优化

小程序在线检测/原生授权窗口残留等异常检测,有异常情况检测时间10s内,没异常情况下耗时1s以内

  • 初始化优化(拉起小程序等)

连接超时问题

本地调试,控制台出现Exception: receive from remote timeout, id: f933c71e-bc2b-41b7-b286-29c65dd0d4d8报错时

一般是因为ide的通道被远程调试占用了,请检查ide是否有打开。建议关闭工具,重新执行,防止端口被占用。或者网络环境等原因引起

最后一次编辑于  2022-07-29  
点赞 2
收藏
评论
登录 后发表内容