我读过很多书,甚至我的观点是客户端验证使用起来不可靠。这就是为什么我总是喜欢使用服务器端验证和客户端验证。因此,我想知道是否有任何方法可以手动绕过客户端验证,以便检查服务器端验证是否正常工作。我使用JSF和Facelets作为一种视图技术。
库和工具太多
在这里,我提供了两种解决方案:
1) curl命令(如果您使用的是linux):
curl --data "year=1905&month=7" http://yoursite.com/page.php
2) Python
import urllib2
import urllib
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()))
the_url = "http://jira-host/jira/secure/CreateWorklog.jspa"
random_user_agent = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'
'HTTP POST fields
values = {'inline' : 'true',
'decorator' : 'dialog',
'worklogId' : '',
'id' : '1027231',
'timeLogged' : '1d',
'startDate' : fdate,
'adjustEstimate' : 'auto',
'comment' : '',
'commentLevel': ''}
data = urllib.urlencode(values)
req = urllib2.Request(the_url, data, {
'Accept': 'text/html, */*; q=0.01',
'X-Requested-With': 'XMLHttpRequest',
'User-Agent': random_user_agent,
'Accept-Language': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4',
'Referer': 'http://jira/jira/browse/TICK-216',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'})
(到目前为止)有一些可能性可以使用Java:为托管bean编写测试
- Arquillian。这是一个测试JavaEE组件的框架
- JSFUnit,一个帮助您为JSF托管bean编写单元测试的框架
- 使用ApacheHttpClient编写单元测试,它将向您的页面发送请求。就我个人而言,我不建议这样做,因为你应该专门做很多工作来了解向页面发送请求的参数(是的,我知道你可以使用Firebug或Chrome控制台检查HTTP流量,但这仍然不是一个好主意)