以编程方式通过appetize.io

时间:2018-05-26 21:30:18

标签: react-native screenshot headless-browser

我想以编程方式每天拍摄一次我的React Native应用程序的屏幕截图。它将由远程服务器上的cron作业运行。

我找到的最简单的方法如下:

  • 在appetize.io上传我的应用程序(如果感兴趣,那是here
  • 启动无头浏览器加载上述链接(我正在使用木偶戏)
  • 告诉木偶操作者等待10秒(加载应用程序)并截取屏幕截图,或者更好,根据开胃菜xDoc messages api发送window.postMessage('saveScreenshot', '*')

唯一的问题是,在某个时候,应用程序会显示“请求位置”屏幕:

enter image description here

我无法告诉木偶操作者以编程方式点击该按钮(或者我可以吗?)。所以10秒后我得到的截图就是上面的截图。在开胃菜的文档中有一个xDoc mouseclick(x, y)方法,但这看起来非常糟糕。

知道如何绕过此“请求位置”弹出窗口吗?

PS:我还研究了以下关于获取RN应用程序截图的想法:

  • react-native-web:在删除一些仅限移动设备的代码后工作,但屏幕截图的布局非常破碎,所以没有追求
  • 在远程服务器上运行模拟器(android模拟器可能更容易),并告诉它截取屏幕截图。没有深入研究,但这意味着更复杂。

1 个答案:

答案 0 :(得分:0)

对于对我的答案感兴趣的人,我最终使用xDoc mouseclick(x, y)方法单击“允许”按钮。

要查看完整代码,请查看以下文件:https://github.com/shootismoke/buffer-bot/blob/master/src/getScreenshot.js