2

我想在我的网页上自动化一些测试,主要是用无效数据填写表格,看看会发生什么。Javascript可以吗?如果没有,PHP可以吗?该脚本应处理会话和 cookie。

是一个非常简单的示例,它有 3 页。在第一个中您应该输入“x”并单击提交,在第二个中您应该输入“3”并单击提交。如果成功,最后一页应该会显示“你知道了!”。这可以自动化,以便我加载脚本并立即看到“你明白了”吗?请注意:为简单起见,这没有 cookie\sessions,但我想要一个支持这些的答案。

  • 我尝试制作另一个iframe包含上述网站的页面。但无法访问内部的元素iframe
  • 我尝试使用cURL制作一个发送请求的 PHP 脚本,但我无法转发 cookie。
  • 我已经对这个答案发表了评论,但没有得到回复。

为方便起见,这里是代码:(您实际上并不需要它,但以防万一..)
index.html

<!DOCTYPE html>
<html>
First page: please enter x
<form method="post" action="next.php">
<input type="text" id="id" name="id" />
<input type="submit" />
</form>
<html>

下一个.php

<?php
if(isset($_POST) && isset($_POST['id']) && $_POST['id']!='x'){
    echo '<script>window.location = "http://www.cs.bgu.ac.il/~kahilm/myNavigator/";</script>';
}
?>
<!DOCTYPE html>
<html>
Second page: please enter 3
<form method="POST" action="last.php">
<input type="text" name="code" />
<input type="submit" />
</form>
</html>

最后一个.php

<?php
if(isset($_POST) && isset($_POST['code']) && $_POST['code']=='3'){
    echo 'you got it!';
}else{
    echo 'you sent something, please make it a "3"... :)';
}
?>
4

3 回答 3

6

考虑 Selenium 浏览器自动化框架 - 它允许您浏览页面、验证条件、填写表格。非常稳定,非常成熟。

http://seleniumhq.org/

于 2012-11-04T22:29:21.653 回答
2

您应该查看以编程方式控制浏览器以执行此类测试。Selenium是一个流行的选项,并且在文档中提到了 PHP 绑定(尽管我通常使用 Perl 或 Python)。

于 2012-11-04T22:29:19.363 回答
1

基于 PHP 的解决方案:不会从前端进行测试,仅从服务器后端进行测试,因此不会模拟真实输入。

JS:不会跨页面持续存在。

因此,您要么寻找浏览器扩展,要么寻找完全独立于浏览器的独立实用程序。

你可以试试:

  1. 然而, Sikuli是通用的,不是针对网页,而是针对一般的 GUI。
  2. 水或硒
于 2012-11-04T22:30:19.227 回答