Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 应用屏幕录制功能_Ruby_Rspec_Appium Ios - Fatal编程技术网

Ruby 应用屏幕录制功能

Ruby 应用屏幕录制功能,ruby,rspec,appium-ios,Ruby,Rspec,Appium Ios,我正在尝试录制屏幕并参考以下教程 我尝试了下面的代码,但在这个路径上没有保存任何内容 @driver.start\u recording\u screen video\u类型:'h264',时间限制:'260',远程路径:'/recordings' 我把它放在方法之前的中,以便它记录我在特定规范文件中进行的所有以下5个测试的所有内容 我在这里遗漏了什么吗?要开始录制,请使用以下c代码: 然后,要停止录制,需要使用以下代码。因为它以base64格式创建录制,所以您需要对其进行解码以查看 Stri

我正在尝试录制屏幕并参考以下教程

我尝试了下面的代码,但在这个路径上没有保存任何内容

@driver.start\u recording\u screen video\u类型:'h264',时间限制:'260',远程路径:'/recordings'

我把它放在方法之前的
中,以便它记录我在特定规范文件中进行的所有以下5个测试的所有内容


我在这里遗漏了什么吗?

要开始录制,请使用以下c代码:

然后,要停止录制,需要使用以下代码。因为它以base64格式创建录制,所以您需要对其进行解码以查看

String video = driver.StopRecordingScreen();
byte[] decode = Convert.FromBase64String(video);
                      
String fileName = "VideoRecording_test.mp4";
File.WriteAllBytes(fileName, decode);

为了开始录制,我们只需要从相应的类调用
start\u recording\u screen
方法

before(:all) or before(:each) do
    @driver.start_recording_screen video_quality: 'low'
end
对于IOS,请安装ffmpeg(
brew安装ffmpeg

我们可以在视频录制开始时添加屏幕录制配置,如时间限制、视频大小等

为了停止录制,我们需要从相应的类调用
stop\u recording\u screen
方法

before(:all) or before(:each) do
    @driver.start_recording_screen video_quality: 'low'
end
现在,进入最重要的问题!我们的录像带在哪里? stopRecordingScreen()方法返回Base64字符串。使用这个字符串,我们需要构建我们的视频。有很多方法可以做到这一点,我使用了Ruby Base64模块中的decode64方法

after(:all) do
    record = @driver.stop_recording_screen
    File.open('sample.mp4', 'wb') do |file|
      file.write(Base64.decode64(record))
    end
end

最后,您可以在
sample.mp4
下找到录音。如果无法使用其他视频播放器播放视频,我建议您使用VLC或Mplayer播放视频。

这看起来不像
rspec