我可以使用Ruby Cucumber Watir来解决URL传递的关键难题吗?

时间:2015-05-22 23:11:48

标签: ruby cucumber watir-webdriver

我是新手。任何帮助表示赞赏。

我已经接受了自动执行Key Pass挑战的挑战。

提供了一个网址(这是一个例子,我不认为挑战的创建者想要公开):www.guessmypasskey.com

当您访问该网站时,正文文本返回,Key Denied:

如果您添加以下路径,www.guessmypasskey /?key = a该网站将返回:密钥被拒绝:00

密钥只是字母数字且长度未知......通过手动测试我能够通过确定二进制代码返回意味着以下内容找到密钥:00不是使用的字符,使用的是01字符,错误的位置,11正确的性格,正确的位置。

我设想,用一个浏览器打开带有watir的URL,检查aa,AZ,0-9,在第一个位置......如果在页面上显示00,则删除可能性中的字符,如果存在01则写入数字到文件(这将确定所需的字符长度。

基本问题,我的方向错了吗?尝试使用Ruby Cucumber Watir实现自动化?

我知道需要额外的步骤来确定字符的顺序....我只想尝试开始第一步,确认字符的有效性和密钥的长度。

1 个答案:

答案 0 :(得分:1)

有点失望的是真正的URL。 = P

无论如何,这种方法会起作用......但我认为这种方法有点过分。

相反,我要做的只是创建一个简单的Node.js脚本(使用JavaScript),它基本上只循环遍历每个角色的所有可能组合,在你移动时单步执行。

您可以使用简单的“请求”模块来请求网页。然后就像那样建立你的字符串。

var request = require('request');

// Gets content of one call... add this to your loop somehow.
request({uri: 'http://guessmypasskey.com?key=' + key}, function (err, response, body) {
   // body has the result to check
});

这可能比设置你正在谈论的技术堆栈更容易......更不用说更快了。

你的一般方法(忽略技术)听起来很不错。