如何使用猎犬/ elixir进行屏幕截图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用猎犬/ elixir进行屏幕截图相关的知识,希望对你有一定的参考价值。
我正在尝试使用take_screenshot()(猎犬)拍摄屏幕截图。我只需要捕获失败时的屏幕截图。
我尝试过尝试/救援,但是即使断言失败,救援块也总是执行。
try do
// some page elements action
assert visible_page_text(), "Hello World"
rescue
_ -> take_screenshot()
end
我也尝试过,
try do
// some page elements action
assert visible_page_text(), "Hello World"
catch
_ -> take_screenshot()
end
我想要如果断言失败,则仅应截取屏幕截图。
答案
稍加修改,您的代码就会起作用:
try do
// some page elements action
assert visible_page_text() =~ "Hello World"
catch
error ->
take_screenshot()
raise error
end
或将其转换为宏:
# assert screenshot on failure
defmacro assert_sof(assertion) do
quote do
try do
assert unquote(assertion)
rescue
error ->
take_screenshot()
raise error
end
end
end
并这样称呼:
assert_sof visible_page_text() =~ "Hello World"
以上是关于如何使用猎犬/ elixir进行屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章