我被赋予了这样做的可怕任务。
冲洗。重复。
现在,通过各种组合,最多可获得300个屏幕截图。
我必须为4种不同的浏览器执行此操作。 Chrome,Firefox,IE 6和IE 7.
我无法使用捕获屏幕截图并存储它们的工具,例如SnagIT。我需要截取屏幕截图,将其复制到Word文档并获取第二个屏幕截图并将其转换为Word文档。
我想,我会写一个小实用程序来帮助我做到这一点。这是我提出的要求规范 -
现在,我的问题是 - 如果我要使用C#(Winforms应用程序)开发它,我该怎么做呢。
我可以做一些C#编程,我愿意学习。但我无法找到如何进行后台处理的参考,以便它在后台运行。在运行时,它必须捕获Print Scrn命令。
你能帮我们找到合适的材料,我可以从中学到这些吗?理论参考应该足够了。但是,如果有实际的参考,那就没有了。
谢谢!
答案 0 :(得分:3)
WatiN有截图方法,适用于firefox。 Selenium可能更适合,因为它支持更多的浏览器。
但是如果可以的话,我会建议你利用browsershots.org之类的东西来获取屏幕截图。
答案 1 :(得分:2)
最近在this question中回答,您可以尝试AutoIt。它不是基于浏览器的,但没有理由为什么,并且已经为你完成了所有繁重的工作。
答案 2 :(得分:1)
与你正在寻找的东西略有不同,但值得一试。
有关网站测试的自动化,请查看WatiN或Selenium。至于捕获屏幕截图,请看一下 - http://www.vikramlakhotia.com/Capturing_the_image_of_the_screen_using_C.aspx。要将图像保存为Word文档,可以使用Office Automation。现在将所有这些链接在一起,你就得到了你的工具。 :)
祝你好运。让我知道它是如何运作的。答案 3 :(得分:0)
所以你可以用Cucumber和Capybara来做到这一点,但Cucumber方式更容易。首先,在项目文件下,创建两个文件夹:(1)failed_png和(2)success_png。然后,在您的env.rb文件中,粘贴以下代码:
After do |scenario|
take_screenshot(@browser, scenario)
end
def take_screenshot(browser, scenario)
if scenario.failed?
scenario_name = scenario.name.gsub /[^\w\-]/, ' '
time = Time.now.strftime("%Y-%m-%d %H%M")
screenshot_path = './failed_png/' + time + ' - ' + scenario_name + '.png'
else
scenario_name = scenario.name.gsub /[^\w\-]/, ' '
time = Time.now.strftime("%Y-%m-%d %H%M")
screenshot_path = './success_png/' + time + ' - ' + scenario_name + '.png'
end
browser.save_screenshot(screenshot_path)
end
这会在每个场景之后拍摄一个屏幕截图,然后将其放在SUCCESS文件夹或FAILED文件夹中并附上时间戳。
有关完整的env.rb文件和更多文档,请访问我的博客whitneytaylorimura.wordpress.com