• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 使用 React Native 进行排毒 UI 测试非常慢

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:36:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我们在运行 wix/detox UI 测试时遇到问题。它们的速度慢得令人无法忍受。

我们尝试尽可能消除一切,我们禁用了所有后台进程,我们删除了几乎整个 UI 元素,我们尝试禁用自动同步,但没有任何帮助。它肯定比排毒文档中的动画慢一个数量级。

只有 1 个按钮的简单应用,单击该按钮大约需要 1.5 秒,当尝试在我们 UI 的某些部分上运行测试时,需要 40 秒,但按钮和文本输入很少。

结果是我们的整个测试套件运行了 30 分钟(我们仍然没有涵盖我们想要的所有内容)。

典型日志:

Timed: animateWithDuration:delayptions:animations:completion:
Timed: animateWithDuration:delayptions:animations:completion:
Timed: animateWithDuration:delayptions:animations:completion:
Timed: animateWithDuration:delayptions:animations:completion:

(即使没有动画)

或者:

send: {"type":"currentStatus","params":{},"messageId":676}
send: {"type":"currentStatus","params":{},"messageId":677}
send: {"type":"currentStatus","params":{},"messageId":678}
send: {"type":"currentStatus","params":{},"messageId":679}
onMessage: {"type":"currentStatusResult","messageId":668,"params":{"state":"busy","resources":[{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x11692fdc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x116931300], width = 0x1, state = 0x001ffe9e00000300, dirty, max qos 6, in-flight = 0, thread = 0x303 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":668}}
rbx
Dispatch Queue: com.apple.main-thread
onMessage: {"type":"currentStatusResult","messageId":669,"params":{"state":"busy","resources":[{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x11692fdc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x116931300], width = 0x1, state = 0x001ffe9e00000300, dirty, max qos 6, in-flight = 0, thread = 0x303 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":669}}
rbx
Dispatch Queue: com.apple.main-thread
send: {"type":"currentStatus","params":{},"messageId":680}
send: {"type":"currentStatus","params":{},"messageId":681}
send: {"type":"currentStatus","params":{},"messageId":682}
onMessage: {"type":"currentStatusResult","messageId":670,"params":{"state":"busy","resources":[{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x11692fdc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x116931300], width = 0x1, state = 0x001ffe9e00000300, dirty, max qos 6, in-flight = 0, thread = 0x303 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":670}}
rbx

库版本

排毒:6.0.0、6.0.4、7.0.0-alpha

react 原生:0.51.0

开玩笑:20.0.4

(我们也试过mocha,没有变化)



Best Answer-推荐答案


就我而言,我有背景 Redux Saga每 1 秒运行一次(代码在以 yield call(delay, 1000) 结尾的循环中运行。

1 秒的时间间隔太紧,Detox 无法释放。将延迟更改为 2000 即可解决问题。

计时器的紧密度可能取决于您拥有的背景 sagas 的数量。以 2000 毫秒的间隔运行 2 个 saga 可能有效,但以相同的间隔运行 100 个 saga 可能不行。

关于ios - 使用 React Native 进行排毒 UI 测试非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48279760/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap