我的手机提供商在其网站上提供有限数量的免费短信。我经常使用该服务,但我讨厌在浏览器中不断打开选项卡。
有没有人知道/指出我如何创建jar文件/命令行实用程序的正确方向,以便我可以在网站上填写相应的表单。我一直想用Java编写这样的项目代码,以防万一有人问我为什么不使用别的东西。
亲切的问候, LAR
答案 0 :(得分:2)
答案 1 :(得分:2)
听起来你需要一个专为进行功能测试而设计的框架。它们充当浏览器并可以导航网站以进行测试和自动化。您不需要测试功能,但它仍然可以满足您的需求。
答案 2 :(得分:1)
将Watij与Eclipse IDE一起使用。完成后,编译为.exe或使用批处理文件运行。
以下是我为填写Google搜索字段而编写的示例代码,可以针对您要控制的网络表单进行调整:
package goog;
import junit.framework.TestCase;
import watij.runtime.ie.IE;
import static watij.finders.SymbolFactory.*;
public class GTestCases extends TestCase {
private static watij.runtime.ie.IE activeIE_m;
public static IE attachToIE(String url) throws Exception {
if (activeIE_m==null)
{
activeIE_m = new IE();
activeIE_m.start(url);
} else {
activeIE_m.goTo(url);
}
activeIE_m.bringToFront();
return (activeIE_m);
}
public static String getActiveUrl () throws Exception {
String currUrl = activeIE_m.url().toString();
return currUrl;
}
public void testGoogleLogin() throws Exception {
IE ie = attachToIE("http://google.com");
if ( ie.containsText("/Sign in/") ) {
ie.div(id,"guser").link(0).click();
if ( ie.containsText("Sign in with your") ||
ie.containsText("Sign in to iGoogle with your")) {
ie.textField(name,"Email").set("test@gmail.com");
ie.textField(name,"Passwd").set("test");
if ( ie.checkbox(name,"PersistentCookie").checked() ){
ie.checkbox(name,"PersistentCookie").click();
}
ie.button(name,"signIn").click();
}
}
System.out.println("Login finished.");
}
public void testGoogleSearch() throws Exception {
//IE ie = attachToIE( getActiveUrl() );
IE ie = attachToIE( "http://www.google.com/advanced_search?hl=en" );
ie.div(id,"opt-handle").click();
ie.textField(name,"as_q").set("Watij");
ie.selectList(name,"lr").select("English");
ie.button(value,"Advanced Search").click();
System.out.println("Search finished.");
}
public void testGoogleResult() throws Exception {
IE ie = attachToIE( getActiveUrl() );
ie.link(href,"http://groups.google.com/group/watij").click();
System.out.println("Followed link.");
}
}
答案 3 :(得分:0)
这取决于他们发送表单信息的方式。
如果他们使用简单的GET请求,您只需填写相应的网址参数即可。
否则您需要将表单信息发布到目标页面。
答案 4 :(得分:0)
您可以使用Watij,它在Internet Explorer上提供Java / COM接口。然后编写少量Java代码来导航表单,插入值并提交。
或者,如果它很简单,那么请查看HttpClient,这是一个简单的Java HTTP客户端API。
无论你做什么,请注意你不要违反你的服务条款(在测试过程中很容易 - 也许你最初应该在模拟界面上工作?)
答案 5 :(得分:0)
WebTest是另一个webapp测试框架,可能比其他人引用的替代方案更容易使用。
答案 6 :(得分:0)
查看Apache Commons Net Package。在那里,您可以向页面发送POSt请求。这是相当低的水平,但可能会做你想要的(如果不是你可能会检查功能测试套件,但它可能不是那么容易深入研究)。
答案 7 :(得分:0)
正如jjnguy所说,你需要剖析表格以找出所有参数。 使用它们,您可以使用Apache的HTTP Client形成您自己的请求并将其关闭。