Skip to content

[Unity3D]symlink 是这个坑的根源——Unity 的文件监听对「符号链接目标」的改动不敏感 #34

@nzcv

Description

@nzcv

已确认并处理。

结论

代码(Unity 端 time 改为操作间隔)本身是正确的,问题在于 Unity 没有重新编译,你测试时跑的还是 19:01 的旧程序集(仍是「按压时长」语义)。

你需要做的(关键一步)

让 Unity 重新编译,三选一:

  1. 切回 Unity 编辑器窗口(失去焦点再获得焦点,通常会触发编译)
  2. Unity 菜单 Assets → Refresh(快捷键 Cmd+R
  3. 在 Project 面板里右键 UAutoRuner_UGUI.csReimport

编译完成后(右下角转圈结束),重新进入 Play 模式重新录制即可。

验证

重编译后,录制脚本里的 time.sleep(...) 应能反映真实等待间隔,例如你停顿 3 秒再操作:

time.sleep(0.07)            # 第一次操作前的间隔
udriver.find_object(By.PATH,"//Canvas//StartButton").tap()
time.sleep(3.12)            # ← 真实等待 3 秒
udriver.swipe_direction("right")

如果重编译后延时仍然全是 ~0.1s,那才说明还有逻辑问题,到时候再贴新录制结果,我继续排查。

补充:symlink 是这个坑的根源——Unity 的文件监听对「符号链接目标」的改动不敏感,所以以后每次改 UAutoRuner_UGUI.cs 源码,都记得手动让 Unity Refresh 一次。另外 make 产出的 UAutoSDK.dll 是给真机/打包用的,编辑器内录制用的是 Unity 直接编译的源码,两者互不影响。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions