我开发了一个脚本,其唯一目的是检查网站/服务是否启动并运行。它这样做的方式是,它使用其 url 连接到页面并使用用户凭据登录到站点。如果登录成功,则服务运行良好。
该脚本是用 Java 编写的并使用 HTMLUnit。这就是我的问题。如何确保登录后返回的HTML页面(填写表单后单击登录/登录按钮)是登录后的“帐户主页”。换句话说,我如何确定登录操作是否成功。
这就是我现在的做法。帐户页面通常有一些与用户相关的信息。例如,如果我登录到 yahoo 邮件,它将在页面右上角显示“欢迎,用户名”,或者页面上将始终显示“撰写”或“收件箱”。我正在使用这个逻辑来测试是否成功。
这是我在测试这个脚本时的观察。我遇到过这条规则失效的案例。
有时登录后返回的页面是一个错误页面,要求您
检查输入的凭据。有时返回的页面可能会要求您打开 javascript 或
在浏览器中启用 cookie。我遇到过服务器返回的页面与登录前页面相同的情况(没有解释原因)
一些网页本质上是动态的,因此内容会不时变化。在这种情况下,关键字搜索可能会导致误报
。这就是为什么这种搜索字符串是否存在的逻辑
完全取决于“搜索字符串/关键字”的选择。
我想说的是,预先为这些案例编码是不现实的。
我尝试比较登录前和登录后页面的 url,但发现
有很多情况两者是相同的。因此,即使这种方法也不是决定性的。
我需要确定登录是否成功的可靠方法。我不是专业的网络开发人员。服务器是否在新页面中返回任何可以解决的状态代码?HTMLUnit 是否具有测试成功和失败的能力。
感谢您的帮助/评论。谢谢!!!