我需要用不同的数据填充一些Web表格,超过一百次,我想到制作一个脚本并使用curl。我对这种语言很陌生,但我听说可以使用Web浏览器执行操作,以便将它们直接转换为curl命令,你知道这是否可能吗?
答案 0 :(得分:3)
首先,我对webformular不是很熟悉,所以这种方法可能不起作用。但是,我过去必须做类似的事情,我将描述如何做到这一点。
N.B。此方法适用于不使用https加密且不需要身份验证的基本表单。您绝对可以扩展此脚本以使用更复杂的表单,但这超出了本答案的范围。
此外,如果您使用此功能自动执行 POST 请求的表单,请比您刚刚执行 GET 请求时更加小心,因为你的脚本中的任何错误都可能导致发送“数百次以上”的错误数据。
在Chrome中打开表单。
找出表单使用的操作。右键单击Chrome中的表单> “检查元素”。您将在下面看到一些文字。寻找这样的东西:
< form name =“who cares”method =“POST”action =“[this is important]”>
记录行动后的文字。这就是你后续步骤所需要的。
4。启动Chrome开发者工具。 (对我来说,那就是Control + Shift + I)。
转到Chrome工具箱中的“网络”标签,并密切关注它。
提交表单。现在,当您这样做时,您应该在网络选项卡中看到一些活动。您需要通过提交表单来确定创建了哪个呼叫。这就是为什么你还记得第2步中的操作。查找一个条目与表单的操作相同的条目。
找到后,右键单击该命令并选择“复制为cURL”。瞧,您现在可以使用cURL命令了!
将该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' - 压缩
单独保留标题(由-H传递的内容),并查找字段--data。在其中,可以使用脚本更改周围的值。具体细节取决于您的脚本语言。
答案 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/