我有一个运行少量任务的rake文件。我想在几个浏览器上运行我的测试,而不用在每个测试中对其进行硬编码。任何建议都会很棒。如何从rake文件的命令行中决定我的浏览器(* firefox,* ie)?
回答
我想最好的方法是遍历基于当前操作系统的文件系统,并找到你想要的浏览器的可执行文件。
也许你可以采取Launchy代码,并让它做你想做的? :)
http://copiousfreetime.rubyforge.org/launchy/
Launchy是火灾推出跨平台应用程序的辅助类和忘记 方式。 目前只支持启动浏览器。
Launchy.open("http://www.ruby-lang.org/")
在OS X上,这个工作对我来说:
`open #{url}`
你有没有考虑使用的Watir?它为浏览器提供了一个抽象接口,用于测试IE浏览器(默认),Firefox(firewatir),Chrome(ChromeWatir)和Safari(SafariWatir)我不确定,我不认为他们已经使用Safari for Windows)。
你基本上是做一个方法或类,它需要浏览器和你想要加载的URI,并使用相关的Watir类加载它们。然后创建调用相关方法的Rake任务。这样做的好处是你无需弄清楚Firefox的位置,如果它正在运行或者没有运行,就会以不同的方式调用它。
我还没有做过任何Watir的东西 - 我被转移到Celerity/Culerity进行浏览器测试 - 但即使您没有使用它进行测试,您也应该可以使用它来启动浏览器从Ruby到至少包括Windows和Mac,可能还有Linux。
@ss, 为了运行测试,您可以在您的测试中添加一个环境变量,如WATIR_BROWSER =“firewatir”和代码中的case语句,它使用watir创建正确的浏览器。 然后有一个rake任务,它用每个不同的变量调用你的主要测试任务。你会得到多个合格/不合格读数,但至少你可以用一个耙子任务运行它。 – 2010-01-22 22:52:22
- 1. 命令行SFTP文件浏览器?
- 2. Chrome浏览器 - 相当于Firefox浏览器的IE浏览器
- 3. 从Web浏览器执行命令
- 4. 如何浏览mysql中的命令行?
- 5. 在命令行但在浏览器中执行的Java文件
- 6. 在不同的浏览器(firefox,chrome,ie)中并行运行WebDriver
- 7. 如何从命令提示符在浏览器中执行JavaScript
- 8. 如何在我的cucumber.yml文件中指定浏览器?
- 9. 打开Chrome浏览器的命令行
- 10. 如何从命令行下载Azure .publishsettings文件(不使用浏览器)?
- 11. 在Firefox和IE浏览器中运行缓慢的YUI动画
- 12. Javascript只能在Chrome浏览器和FireFox中运行而不是IE浏览器
- 13. 如何访问firefox浏览器的object.style.filter?
- 14. 问题从浏览器中对特定的XML文件get命令
- 15. 浏览文件夹的批量命令
- 16. IE浏览器兼容浏览器兼容性问题/ Firefox
- 17. ajax调用在Chrome浏览器,Firefox但不在IE浏览器?
- 18. IE浏览器使用Firefox浏览器环境
- 19. Mozilla Firefox浏览器的ActiveX
- 20. 如何获得IE浏览器的cookies是低文件夹中
- 21. 将Firefox转换为IE浏览器javascript
- 22. 确定如何刷新IE浏览器
- 23. 如何从IE浏览器使用JavaScript
- 24. 从浏览器执行.EXE文件
- 25. 如何在Windows操作系统中获取IE,Firefox和Chrome浏览器的浏览器启动/启动事件?
- 26. .js文件工作在铬和Firefox但不IE浏览器
- 27. .htaccess文件,IE浏览器不工作Firefox,Safari和Chrome工作
- 28. IE浏览器和Firefox浏览器的CSS绝对定位问题,但不是Chrome浏览器 - Wordpress模板
- 29. IE浏览器的CSS定位问题
- 30. 如何应对click事件上的输入型=非IE浏览器的文件浏览器
那么你想知道如何打开一个特定的浏览器在红宝石或如何找出哪个浏览器是当前运行的? – 2010-01-22 22:48:57