当前位置: 首页 > 知识库问答 >
问题:

我正在尝试关闭 Web 驱动程序上的浏览器实例,但无法这样做

戴博
2023-03-14
package erewards2;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class login_sib2 {

    public static void main(String[] args) {

        FirefoxDriver d1 = new FirefoxDriver();

                 d1.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                 d1.get("https://sib3.erewardsredeem.com/fm/customer.html?action=userLogin");
                 d1.manage().window().maximize();
                 WebElement e4 = d1.findElementByLinkText("Login");
                 e4.click();
                 d1.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                 WebElement e1 = d1.findElement(By.id("showmemberid"));
                 e1.sendKeys("2800000091");
                 WebElement e2 = d1.findElementById("showmemberpwd");
                 e2.sendKeys("Miquser1");
                 WebElement e3 =  d1.findElementByClassName("loginbtn");
                 e3.click();

                WebElement e5 = d1.findElementByLinkText("Logout");

                 e5.click();



                Alert a1 = d1.switchTo().alert(); //web based alert
                WebDriverWait wait = new WebDriverWait(d1,10);
                wait.until(ExpectedConditions.alertIsPresent()).accept();
                a1.accept();

             System.out.println("test1");

                //close Firefox
                d1.close();
                System.out.println("test2");   
                // exit the program explicitly
                System.exit(0);
                System.out.println("test3");
    }

}

出于测试目的,我添加了system.out println行,发现我的代码不能完全从Test1语句执行。下面是我在Eclipse IDE上得到的异常。

线程“main”org . open QA . selenium . noalertpresentexception中出现异常:没有警报(警告:服务器未提供任何stacktrace信息)命令持续时间或超时时间:13.82秒构建信息:版本:“2.41.0”,修订版:“3192d8a”,时间:“2014-03-27 17:18:15”系统信息:主机:“pcs-PC”,IP:“192 . 168 . 1 . 64”,OS . name:“Windows 7”,OS . arch:“x86”

共有2个答案

袁翰池
2023-03-14

您也可以尝试使用 d1.quit()。

东明德
2023-03-14

看起来它在结束陈述之前就失败了。

尝试这样构造代码:

FirefoxDriver d1 = new FirefoxDriver();
try {
    // steps
}
finally {
    d1.close();
}

这将确保执行close语句。

 类似资料:
  • 我正在使用Selenium C# Webdriver进行一些自动化测试。完成测试后,我想关闭浏览器。 我使用以下方法初始化驱动程序: 然后在做完某事后,我正在关闭它 有没有办法关闭它?

  • 我无法使用selenium webdriver 3.4.0启动Firefox浏览器

  • 我已经编写了简单的代码,在Mac上使用selenium web驱动程序在eclipse中打开Safari web浏览器。还在哪里寻找Safari exe以及在哪里放置它在mac plzz上help.thanks 我收到了这个错误 下面的强文本错误 2016年9月24日凌晨1:22:31 org.openqa.selenium.safari。SafariDriverServer启动信息:服务器启动于

  • 问题内容: 我正在尝试遵循Selenium Webdrive教程 http://www.toolsqa.com/selenium-webdriver/headless-browser-testing-selenium- webdriver/ 有一个简单的测试,这里是步骤: 开启网页http://google.com 获取页面标题。 搜索“ Selenium” 再次检查页面标题。 从类代码示例开始,

  • 我试图创建一个类,该类将有一个接一个地测试超文本传输协议代理的方法,直到我有一个工作的代理,我可以添加到一个selenium网络驱动程序实例中。 我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误) 当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器

  • 问题内容: 我正在尝试通过for循环在多个浏览器中运行相同的测试,但它始终仅在Firefox上运行。 一项有趣的观察;当我包含该参数时,它仅在Internet Explorer上运行。 Selenium Webdriver是否以这种方式工作,或者我的理解是错误的? 问题答案: 我实际上已经在Java中完成了此操作,以下对我来说效果很好: 如果您要使用其他语言编写测试,则当然需要对此进行调整,我知道