将Web公式鼠标单击操作转换为curl命令

时间:2015-01-12 17:44:20

标签: curl scripting

我需要用不同的数据填充一些Web表格,超过一百次,我想到制作一个脚本并使用curl。我对这种语言很陌生,但我听说可以使用Web浏览器执行操作,以便将它们直接转换为curl命令,你知道这是否可能吗?

2 个答案:

答案 0 :(得分:3)

首先,我对webformular不是很熟悉,所以这种方法可能不起作用。但是,我过去必须做类似的事情,我将描述如何做到这一点。

N.B。此方法适用于不使用https加密且不需要身份验证的基本表单。您绝对可以扩展此脚本以使用更复杂的表单,但这超出了本答案的范围。

此外,如果您使用此功能自动执行 POST 请求的表单,请比您刚刚执行 GET 请求时更加小心,因为你的脚本中的任何错误都可能导致发送“数百次以上”的错误数据。

  1. 在Chrome中打开表单。

  2. 找出表单使用的操作。右键单击Chrome中的表单> “检查元素”。您将在下面看到一些文字。寻找这样的东西:

    < form name =“who cares”method =“POST”action =“[this is important]”>

  3. 记录行动后的文字。这就是你后续步骤所需要的。

    1. 在表单中填写一些示例值。
    2. 4。启动Chrome开发者工具。 (对我来说,那就是Control + Shift + I)。

      1. 转到Chrome工具箱中的“网络”标签,并密切关注它。

      2. 提交表单。现在,当您这样做时,您应该在网络选项卡中看到一些活动。您需要通过提交表单来确定创建了哪个呼叫。这就是为什么你还记得第2步中的操作。查找一个条目与表单的操作相同的条目。

      3. 找到后,右键单击该命令并选择“复制为cURL”。瞧,您现在可以使用cURL命令了!

      4. 将该cURL命令放入脚本中,然后将您在步骤3中填写的示例值更改为您要自动填写的值。例如,如果cURL命令是:

        curl'[somewebsite] / [form action]'-H'原产地:[somewebsite]'-H'Eccept-Encoding:gzip,deflate'-H'Accept-Language:en-US,en; q = 0.8 '-H'用户代理:Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,类似Gecko)Chrome / 38.0.2125.111 Safari / 537.36'-H'内容类型:application / x-www-form- urlencoded'-H'连接:keep-alive' - data'name = Danver& status = Awesome' - 压缩

      5. 单独保留标题(由-H传递的内容),并查找字段--data。在其中,可以使用脚本更改周围的值。具体细节取决于您的脚本语言。

        1. 现在您完成了,只要您的表单不需要活动会话cookie来提交表单。如果是这种情况,你必须采取的方法略微超出了这个答案的范围,但它仍然可能。

答案 1 :(得分:0)

我会说Behat + Mink对于这个目的更有用。 例如,请查看此处:http://mink.behat.org/en/latest/guides/manipulating-pages.html#form-field-manipulations

事实上,你的行为毕竟会被翻译成卷曲,但你不必深入细节,你将以一种非常舒适的方式描述它们...... 之后你可以自称是QA初级专家:)

Behat文档:http://behat.org

精彩教程视频:http://lin-clark.com/blog/2013/11/26/quickstart-testing-with-behat-mink-selenium/