【问题标题】:Selenium using Firefox driver -Tries to connect to random port number ," Cannot start the driver service on http://localhost:******/"Selenium 使用 Firefox 驱动程序 - 尝试连接到随机端口号,“无法在 http://localhost:******/ 上启动驱动程序服务”
【发布时间】:2022-01-27 02:03:47
【问题描述】:

我已经尝试在firefox中运行selenium webdriver有一段时间了,我总是得到同样的错误:无法在http://localhost:******/上启动驱动程序服务“(数字正在改变不断地) 我有在 Chrome 中使用 selenium 的经验,但从未在 Firefox 上使用过。 我遵循了一个始终适用于我的 chrome-webdriver 的教程,可以在这里找到:https://medium.com/@tanveer.khan/dotnet-core-selenium-nunit-visual-studio-code-2d489ccb2089 我已经安装了 geckodriver.exe 并将其放置在多个地方(尝试了网上提出的一堆解决方案),例如 firefox 浏览器位置、项目位置等。 从这里:https://github.com/mozilla/geckodriver/releases 我已经安装了所有需要的软件包:dotnet add package ... 我从来没有选择过司机将在哪里导航,它似乎是自动完成的。 我只需要不做任何事情就能成功通过测试。

源代码:

using System;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.IO;
using System.Net;
using System.Web;
using System.Globalization;
using System.Drawing.Imaging;
using OpenQA.Selenium.Firefox;

namespace DemoFox
{
    class Program
    {
        
        
         IWebDriver driver;
       
         [SetUp]
     public void TestSetup()
    {  
        System.Environment.SetEnvironmentVariable("geckodriver.exe",@"C:\Program Files\Mozilla Firefox");     
        driver= new FirefoxDriver();
        driver.Navigate().GoToUrl("http://localhost:3001");
    }
    [Test]
    public void FirefoxTest(){
    Console.WriteLine("Hello firefox");
}
[TearDown]
    public void TestTearDown(){
        driver.Quit();
    }

}
}

异常信息:

结果:失败 错误信息: OpenQA.Selenium.WebDriverException:无法在 http://localhost:58696/ 上启动驱动程序服务 TearDown : System.NullReferenceException : 对象引用未设置为对象的实例。 堆栈跟踪: 在 OpenQA.Selenium.DriverService.Start() 在 OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令 commandToExecute) 在 OpenQA.Selenium.WebDriver.Execute(字符串 driverCommandToExecute,Dictionary`2 参数) 在 OpenQA.Selenium.WebDriver.StartSession(ICapabilities desiredCapabilities) 在 OpenQA.Selenium.WebDriver..ctor(ICommandExecutor 执行器,ICapabilities 能力) 在 OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxDriverService 服务,FirefoxOptions 选项,TimeSpan 命令超时) 在 OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxOptions 选项) 在 OpenQA.Selenium.Firefox.FirefoxDriver..ctor() 在 c:\Users\Lab\Desktop\FireFoxDemo\DemoFox\Program.cs:line 24 中的 DemoFox.Program.TestSetup() - 拆除 在 c:\Users\Lab\Desktop\FireFoxDemo\DemoFox\Program.cs:line 33 中的 DemoFox.Program.TestTearDown() 标准输出消息: 由于目标机器主动拒绝,无法建立连接。 [::ffff:127.0.0.1]:58696 (localhost:58696)

测试总数:1.通过:0.失败:1.跳过:0

【问题讨论】:

  • 只是为了确保我理解你的问题:你为什么要使用端口?是为了掌握一个已经开放的进程?
  • 我想连接到在我的计算机上本地运行的服务器。但对于第一部分,我只想将测试打印到控制台,但即使那里只有一行代码,它也会在设置阶段失败:driver= new FirefoxDriver();.

标签: selenium selenium-webdriver firefox


【解决方案1】:

用驱动路径解决:

 [SetUp]
 public void TestSetup()
{  
    var driverpath = @"C:\Program Files (x86)\Microsoft Web Driver"; //find the      driver = new FirefoxDriver(driverpath);
      
    driver.Navigate().GoToUrl("http://localhost:3001");
    
    driver.Manage().Window.FullScreen();
    
}

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2021-07-01
    • 2014-11-16
    相关资源
    最近更新 更多