• 精准测试之用例推荐 at 2025年01月23日

    首先,需要先排除数据上下游强关联的用例

  • 直接转成数据驱动、或者每行操作单独执行,(先 str 化,然后 exec(str))
    1、单步骤执行失败后,sleep(1),后重试一次
    2、上下游相关的 case 放一个测试流程,部分节点做校验,不符合就退出流程
    3、自动对失败的流程重试(如果是网络问题引起的,这步可以修复,一般重试 1-2 次)

  • 已解决 at 2024年12月31日

    直接用 wda,拒绝中间商..

  • appium2 问题 at 2024年12月31日

    安卓用的 driver.swipe_points([coordinates1,coordinates2,coordinates3], 0.2)
    coordinates1=(x1,y1)
    我的安卓是基于 uiautomator2,不过这个方法在 appium 也有(但是好像 ios 不支持)

    我的 ios 是基于 wda,直接使用 http 通信
    wda_url = f"http://localhost:8100/session/session_id}/actions{"
    构建请求数据 相关文档https://github.com/jlipps/simple-wd-spec#perform-actions

  • APP 多语言测试 at 2024年12月16日

    写 UI 自动化的时候,兼容一下多语言就可以了
    1、页面点击时主要以 text 为主
    2、对每个页面的 text 进行 exists 校验
    3、执行多语言时,提取 case/代码中的 text,替换成对应的多语言
    然后正常执行 ui 自动化

  • 你的要定位的东西在列表上吧,新版在列表上从头找到尾,基本上都在屏幕外。
    我自己的重构了,
    1、优先 driver(text='模式', visible=True) 快捷指定 visible=True 找到显示区域的,但是新版这个 visible=True 可能不准 (部分 True 的可能返回 False)
    2、1 找不到,再去循环查询 driver(text='模式')
    element=driver(text='模式')
    elementcount = element.count()
    for i in range(1, elementcount + 1):
    if element[i].visible:
    print(str(i) + '个时是显示的')
    break