Simpletest PHP 脚本浏览器...如何测试提交表单名称中包含 [ ] 的表单(基本上是数组格式)?

Posted

技术标签:

【中文标题】Simpletest PHP 脚本浏览器...如何测试提交表单名称中包含 [ ] 的表单(基本上是数组格式)?【英文标题】:Simpletest PHP scriptable browser... how to test submit a form that has [ ] in the form name (basically in array format)? 【发布时间】:2010-07-04 05:51:43 【问题描述】:

我正在使用 simpletest,php 可编写脚本的浏览器,并尝试测试提交数组格式的表单,如下所示:

<input id="password" name="session[password]" value="" type="password">

其他输入名称以“会话”开头,所以我必须给出每个输入的全名,但是当我在我的 PHP 脚本中这样做时,它似乎不起作用:

$this->setField('session[password]', 'password');

我想知道是否有人知道正确执行此操作的方法,或者我可以将其设置为查看输入的 id,因为这始终是唯一的,据我所知,我什至不明白为什么他们选择名称而不是 ID 作为用于此的字段...

非常感谢任何建议。

【问题讨论】:

【参考方案1】:

您通过查看$_POST["session"]["password"] 获得用户提交的值(假设表单方法是“post”,而不是“get”)。

您可以使用这个简单的脚本对其进行测试:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") 
    echo "<pre>";
    var_dump($_POST);
    die();

?>
<form method="post">
<input id="password" name="session[password]" value="" type="password">
<input type="submit" />
</form>

【讨论】:

以上是关于Simpletest PHP 脚本浏览器...如何测试提交表单名称中包含 [ ] 的表单(基本上是数组格式)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式在SimpleTest中编写AssertTags测试?

模拟测试和PHP的魔法__get方法

如何在 PHP 中编写文件上传测试?

SimpleTest 与 PHPunit

如何从android的浏览器运行php脚本? [关闭]

如何通过 Python 和 ctype 访问 C 全局变量结构