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

无法让Selenium测试在Internet Explorer中运行

马德宇
2023-03-14

我们已经在Chrome和Firefox上成功地使用了Selenium测试,现在我们也想在Windows 10虚拟机上用Internet Explorer开始测试。现在测试已经开始,Internet Explorer打开并转到我们要测试的页面。但是任何与页面的交互都不能通过测试,它找不到任何元素。错误通常是“元素不能被XPath找到”。同样的测试在Chrome和Firefox在同一台机器上运行良好。

共有1个答案

闾丘高峰
2023-03-14

以下是一些可以通过Internet Explorer执行的检查表:

>

  • 确保您使用的是最新的Selenium3.x jars以及IE11。

    接下来,您需要从这里下载“IEDRiverServer”(32位)。

        //Internet Explorer 11
        System.setProperty("webdriver.ie.driver", "C:\\SeleniumUtilities\\BrowserDrivers\\IEDriverServer.exe");
        WebDriver driver = new InternetExplorerDriver();
        driver.manage().window().maximize();
        driver.get("http:\\\\gmail.com");
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        driver.findElement(By.id("Email")).sendKeys("your_id");
        driver.findElement(By.id("next")).click();
        WebDriverWait wait = new WebDriverWait(driver, 5);
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));
        driver.findElement(By.id("Passwd")).sendKeys("your_password");
        driver.findElement(By.id("signIn")).click();
        driver.quit();
    

  •  类似资料:
    • 我正在尝试运行一个针对Internet Explorer的TestNG套件。然而,它似乎无法使用CSS定位器在网页上查找元素。我使用@FindAll注释来指定多个定位策略,这些策略对Chrome和Firefox都很有效。以下是我在TestNG失败摘要中看到的错误: org.openqa.selenium.WebDriverExc0019:(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时:

    • 问题内容: Firefox可以运行,但是在测试执行完毕后,Firefox仍然可以运行。 这是在带有Firefox 3.6的Debian Linux上。 问题答案: 解决方案是将Selenium指向firefox-bin文件而不是firefox文件,如果它位于/ usr / bin / firefox,则默认情况下可以使用它。

    • 在TestNG XML中,我将类文件指定为Cucumber文件,这个java文件包含我的特性的路径。 当我运行时,我没有得到任何响应,并且可以看到空白的测试NG报告。 注意:我在Junit cucumber中尝试了相同的脚本,在grid中使用chrome,并且运行良好。 我的最后一个问题,我是网格新手,我想知道我们可以看到所有的浏览器在多个节点上运行,或者我们不能看到除了结果以外的任何东西,当通过

    • 我在Jenkins做一个terraform测试。以下是我所做的: > 已安装terraform插件 我知道它看不到地球形态,但我怎么才能让它看到呢?我用github回购来获取消息。我想为每个terraform命令做一个步骤:init、plan和apply。我怎样才能做到这是詹金斯?我找不到任何教程解释这一点。多谢了。

    • 问题内容: 我正在使用带有eclipse的junit编写功能测试。 当运行单个测试时,它将按照我在类中设置它们的顺序运行。 例如。 但是,当我将此测试作为套件的一部分运行时(在包中),顺序是随机的。 例如,它将执行验证,然后删除用户,然后删除joinuserToRoom然后创建用户。 我在套件中的测试并不相互依赖。但是,测试中的每个单独测试都取决于它们以正确的顺序运行。 有什么办法可以实现? 谢谢

    • 我们正尝试在我们的Windows从机上运行来自Jenkins的Selenium测试,作为一个Gradle项目。 我能够从bat命令启动Selenium,测试执行开始,但它在后台打开浏览器(测试用例失败,它说它找不到可以点击的按钮)。如果我在windows VM上手动运行,它将启动Selenium,打开前台的浏览器,并成功执行测试。 当Jenkins开始Selenium测试时,有可能在前台打开浏览器