javascript - 使用javascript完成一个vbscript msgbox - Selenium - 自动化测试

标签 javascript jquery selenium vbscript modal-dialog

我需要能够使用 javascript 完成 vbscript 消息框。问题是我们正在使用 selenium 来测试一个经典的 asp 网站。我们的目标是慢慢摆脱该网站的 vbscript 代码,但在此期间我们仍然需要测试该代码。

我们想通过多台计算机运行多个测试,因此我们需要一种自动方法来使用 javascript 完成网站上存在的 vbscript 消息框。这是因为据我所知,Selenium 不支持 vbscript 交互,但它确实有一种在运行时将 javascript 注入(inject)页面的方法。

所以我想找到模态 vbscript 对话框并单击确定或以编程方式取消。

我看到有人使用了一种解决方案,即按 Tab 键切换到适当的按钮并单击回车键...然后进行录音。但是任何实际的击键似乎都会干扰进行分布式测试、在多台计算机上运行多个测试……或压力测试的可能性。

有没有人对我如何通过 javascript 或 jquery 与 vbscript msgboxes 交互有任何可能的想法?

谢谢,

[edit] - 嘿...也许我应该问是 dom 的 vbscript msgbox 部分吗?我可以通过在 javascript 中使用 dom 来操作它吗?也许有什么方法可以点击确定或者设置返回值并销毁对话框?

最佳答案

几天前我回答过类似的问题。如果您使用的是 selenium 1.0,那么也许您可以使用 answer 中的 JS 版本或者,您可以尝试 selenium 本身提供的一些确认处理,如下所示,

selenium.chooseOkOnNextConfirmation();
selenium.chooseCancelOnNextConfirmation();
selenium.answerOnNextPrompt("no");

关于javascript - 使用javascript完成一个vbscript msgbox - Selenium - 自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125202/

相关文章:

selenium - 这个网站如何检测带有 selenium 和 chromedriver 的远程控制?

javascript - 使用 Freemarker 模板在 Angular 中转义引号

jquery - Kendogrid 过滤器菜单在 mouseleave 上关闭

javascript - 在 reactjs 中设置 componentDidMount 间隔是一种正确的方法吗?

javascript - 未捕获的类型错误 : Object [object Object] has no method 'handsontable' ?

selenium - "ChromeHeadless have not captured in 60000 ms, killing."仅发生在 Gitlab 托管的 CI/CD 管道中

java - 使用 @test 注解并行执行

javascript - mozrepl:遍历所有 firefox 窗口中的所有选项卡

javascript - 为什么这段代码在我的测试服务器上有效,但在 jsfiddle 上却无效?

javascript - JSON AngularJS 中的图像