一尘不染

selenium:如何提示用户输入并使用输入值?

selenium

我有一种情况(在selenium测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全代码,然后才能继续操作。

我不太确定如何获得用户输入的值。我浏览了selenium文档,并提出了这个建议。不幸的是,它并不是很有效。

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("window.promptResponse=prompt('Please enter the security code')");

    if(isAlertPresent()) {
        // switch to alert
        Alert alert = driver.switchTo().alert();

        // sleep to allow user to input text
        Thread.sleep(10000);

        // this doesn't seem to work 
        code = (String) js.executeScript("return window.promptResponse");

        alert.accept();

有人可以指出我正确的方向吗?


阅读 627

收藏
2020-06-26

共1个答案

一尘不染

似乎您必须先接受并关闭提示,然后才能存储和使用该值

    alert.accept();
    code = (String) js.executeScript("return window.promptResponse");
2020-06-26