0
这对于测试建议(没什么不好)Java的硒线程同步暴力破解
我想和硒2包含了暴力破解程序谁在“0-10”密码保护的网页打破
我有这个(一个小例子不是实际的代码)...
public class test implements Runnable {
static WebDriver driver;
test() {
StageLoader();
Thread t = new Thread(this);
t.start();
}
//starts firefox and goes to the page
private void StageLoader() {
driver = new FirefoxDriver();
driver.get("http://test.com/login.php");
}
@Override
public void run() {
for (int i = 0; i <= 10; i++) {
bruteForce(i);
}
}
private void bruteForce(int i) {
driver.findElement(
By.name("password"))
.sendKeys(Integer.toString(i));
String output = driver.findElement(By.id("result")).getText();
if (output.indexOf("sucess") != -1) {
//stop
} else {
//continue
}
}
public static void main(String[] args) {
new FiberBrute();
}
}
它完美的作品,但它缺乏同步的,我希望它由一个从0到10唯一继续下一个如果!成功,我已经尝试了很多,使这与并行工作,但我失败:(你能请帮我一下吗?
在此先感谢:d
那么你正在尝试多线程的部分是bruteForce方法?所以它可以尝试1-3并行,然后4-6等? – Thomas 2012-03-09 21:19:35
如果您等待上一次尝试通过或失败,那么您是单线程的,不需要同步。这里并行发生了什么?多个用户每个都去1-10? – Thomas 2012-03-09 22:07:38
问题在于for循环一次全部完成,我需要做一些事情才能等到第一次尝试完成,然后等待第二次尝试,等等......例如,如果1不成功,尝试2,如果2不成功尝试3,等等...我现在所有尝试0到10都是一团糟:P – 2012-03-09 22:16:39