VBSCRIPT自动化网站登录测试(Vbscript for automated website l

2019-09-02 05:44发布

我想运行一个VBScript,会做以下几点:

  1. 启动IE浏览器和负载的网站。
  2. 登录该网站。
  3. 验证登录是否成功与否。

现在,我已经得到了与部分1和2。其作用涉及3脚本,即验证登录成功,我坚持。 我该怎么做呢?

下面是我得到了一些论坛的代码:

 Dim IE
 Set IE = CreateObject("InternetExplorer.Application")
 IE.Visible = 1 
 IE.navigate "https://my.website.com"
 Do While (IE.Busy)
   WScript.Sleep 10
 Loop
 Set Helem = IE.document.getElementByID("formUsername")
 Helem.Value = "username" ' change this to yours
 Set Helem = IE.document.getElementByID("formPassword")
 Helem.Value = "password" ' change this to yours
 Set Helem = IE.document.Forms(0)
 Helem.Submit

Answer 1:

在这样高的水平,以验证登录成功,最好的办法可能是搜索中,只有在登录时出现的HTML元素。如果存在假设你登录,如果它不尝试导航和登录再次。

下面是一个使用莱恩一个非常简单的例子(),以检查是否存在包含文本的元素。 如果你想和做的事情一样验证你可以更复杂,你所看到的比赛你会看到如果你登录的信息。

你可以使用你上面使用抢元素同样的功能,然后比较他们的任何成员。

Dim IE
Dim Helem

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1 
IE.navigate "http://www.example.com"

Set Helem = IE.document.getElementByID("formUsername")
Helem.Value = "username" ' change this to yours
Set Helem = IE.document.getElementByID("formPassword")
Helem.Value = "password" ' change this to yours
Set Helem = IE.document.Forms(0)
Helem.Submit

Do While (IE.Busy)
    WScript.Sleep 10
Loop

Dim someElement
Set someElement = IE.document.getElementByID("someElement")

If Len(someElement.innerText) > 0 Then
    MsgBox "logged in"
End If


Answer 2:

有一对夫妇的事情可以做,

  • 如果网站返回像一个错误消息“登录失败”或“密码错误”,你可以检查一下身体的特定文本

    If inStr(lcase(IE.document.body.innertext), "bad login") then
      'Do error checking here
    End If
  • 如果一旦你的标题标签更改登录,您还可以检查是否存在以验证您在被记录。


文章来源: Vbscript for automated website login testing