Java 中的自动化 Web 测试工具
我想测试一个基于 Ajax 的 Web 应用程序。我想用Java编写测试脚本并模拟Web浏览器。
Web 浏览器的模拟非常重要,因为我在 Web 应用程序中使用非常先进的 Ajax 库(例如 jQuery)。
关于我应该如何进行的任何想法?
I want to test a Ajax based web application. I want to write the test scripts in Java and simulate the web browser.
Simulation of a web browser is very important since Iam using very advanced Ajax library like jQuery in the web Application.
Any ideas on how I should proceed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想你可能想看看 Selenium 。
善良,
丹
I think you might want to give Selenium a look.
Kindness,
Dan
如果您的应用程序大量依赖 Javascript,那么对浏览器进行“模拟”可能效果不会那么好:您可以使用一些爬虫来测试您的应用程序,但它们不太喜欢 JS。
针对您的情况,最好的解决方案可能是使用真实浏览器进行测试。
Selenium 工具套件对此非常好:它允许您的测试程序试用浏览器(一个真正的浏览器:火狐浏览器、互联网浏览器……);这意味着你的 JS 代码的执行方式与“真实”用户的执行方式完全相同。
例如,你可以让你的测试程序告诉浏览器打开一个页面,点击一个链接,检查页面中的一些内容,...如果有一些 JS 事件插入到链接上,它将被执行:链接上将会有一次真正的“点击”。
不过,使用像 selenium 这样的工具有一些缺点;其中一些是:
但是这些测试非常好,并且对于测试整个应用程序很有用——即,更多的“功能测试”而不是“单元测试”。
Doing "simulation" of a browser will probably not work that well if your application relies on Javascript a lot : there are some crawlers that you can use to test your application, but they don't like JS that much.
The best solution in your case might be to use a real browser to do your testing.
The Selenium tool-suite is quite nice for that : it allows your testing programm to pilot a browser (a real one : firefox, internet explorer, ...) ; which mean having you JS code executed exactly the same way that it would be with a "real" user.
For instance, you can have your testing programm tell a browser to open a page, click on a link, check some content in the page, ... And if there was some JS event plugged onto the link, it will have been executed : there will have been a real "click" on the link.
Using a tool like selenium has some drawbacks, though ; some of them are :
But these tests are quite nice, and usefull to test the application as a whole -- ie, more "functionnal tests" than "unit-test".