Laravel Dusk 很慢
Laravel Dusk very slow
我正在学习LaravelDusk,我对这个工具的缓慢感到惊讶。
我了解到特征数据库迁移可能会产生这些延迟。但就我而言,我不使用此特征。
示例:
有什么加速 Dusk 的建议吗?我正在研究 Windows。
您正在测试的每个页面可能会在 1-2 秒内加载,但如果您的测试单击到另一个页面或与使用过渡或动画的内容交互并且必须等待才能交互,这些都会加起来。也可能会发生一些测试设置开销。
但平均而言,6 次测试 38 秒是每次测试 6.7 秒,鉴于上述情况,我实际上会说这还不错。
如何加快速度:
- 在 运行测试之前,直接将尽可能多的测试相关数据植入数据库,而不是通过您的应用程序创建它们。 (当然,除非您正在测试通过应用程序创建该数据的能力。)
- 通过删除转换最大限度地减少测试必须等待的时间。如果你有很多测试,你可能会实现一个网站模式,你的前端在 URL 中查找查询参数并在必要时禁用它们。
- 减少每个测试的 setup/overhead 数量。例如,如果每个测试首先点击登录页面,那么每次都需要 运行 进行额外的页面加载和输入。您可以登录一次,然后执行一系列其他输入。或者更好的是,只在一个测试中测试登录功能,然后将其他测试配置为已登录,这样它就假定用户已经通过身份验证。
我正在学习LaravelDusk,我对这个工具的缓慢感到惊讶。
我了解到特征数据库迁移可能会产生这些延迟。但就我而言,我不使用此特征。
示例:
有什么加速 Dusk 的建议吗?我正在研究 Windows。
您正在测试的每个页面可能会在 1-2 秒内加载,但如果您的测试单击到另一个页面或与使用过渡或动画的内容交互并且必须等待才能交互,这些都会加起来。也可能会发生一些测试设置开销。
但平均而言,6 次测试 38 秒是每次测试 6.7 秒,鉴于上述情况,我实际上会说这还不错。
如何加快速度:
- 在 运行测试之前,直接将尽可能多的测试相关数据植入数据库,而不是通过您的应用程序创建它们。 (当然,除非您正在测试通过应用程序创建该数据的能力。)
- 通过删除转换最大限度地减少测试必须等待的时间。如果你有很多测试,你可能会实现一个网站模式,你的前端在 URL 中查找查询参数并在必要时禁用它们。
- 减少每个测试的 setup/overhead 数量。例如,如果每个测试首先点击登录页面,那么每次都需要 运行 进行额外的页面加载和输入。您可以登录一次,然后执行一系列其他输入。或者更好的是,只在一个测试中测试登录功能,然后将其他测试配置为已登录,这样它就假定用户已经通过身份验证。