Rspec:执行 mkdir 然后将屏幕截图传递到新目录
我创建了一个 rspec
测试,其中在 it
块内创建了一个目录,并且还截取了测试的各种状态的屏幕截图。
这是我正在测试的一个表单条目,因此 it
块如下所示:
...
it "confirm that a user can successfully sign up" do
timestamp = Time.now.to_i
dir = Dir.mkdir("dir_#{timestamp}")
driver = Selenium::WebDriver.for :firefox
driver.navigate.to "go/to/url"
username_field = driver.find_element(id: "user_username")
username_field.send_keys("user #{timestamp}")
driver.save_screenshot("./#{dir}/screen_username.png")
...
end
因此,如果 timestamp
是 1234,那么我假设有一个名为 dir_1234
的目录code> 将被创建,并且在某个时刻,它将在其中放置一个名为 screen_username.png
的图像。但是当我运行 rspec 时,我收到以下错误:
Failure/Error: driver.save_screenshot("./#{dir}/screen_username.png")
Errno::ENOENT:
No such file or directory @ rb_sysopen - ./0/screen_username.png
...
有什么想法吗?提前致谢。
I've created an rspec
test where I've created a directory inside of an it
block and am also taking screenshots of the various states of the test.
It's a form entry I'm testing so the it
block looks like this:
...
it "confirm that a user can successfully sign up" do
timestamp = Time.now.to_i
dir = Dir.mkdir("dir_#{timestamp}")
driver = Selenium::WebDriver.for :firefox
driver.navigate.to "go/to/url"
username_field = driver.find_element(id: "user_username")
username_field.send_keys("user #{timestamp}")
driver.save_screenshot("./#{dir}/screen_username.png")
...
end
So if timestamp
is 1234, then I'm assuming a directory named dir_1234
will be created and it will, at some point, put an image inside of it named screen_username.png
inside of it. But when I run rspec
, I get the following error:
Failure/Error: driver.save_screenshot("./#{dir}/screen_username.png")
Errno::ENOENT:
No such file or directory @ rb_sysopen - ./0/screen_username.png
...
Any ideas? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Dir::mkdir
始终返回0
这就是你的问题
你可以将路径保存到某个变量
Dir::mkdir
always returns0
That's your problem
You can save path to some variable