Geckodriver dosyasının hatası nasıl giderilir.exe, Firefox ve Selenium C kullanan başka bir işlem tarafından kullanılıyor#

0

Soru

Testimi selenium c#kullanarak Chrome ve Firefox'ta çalıştırmaya çalışıyorum. Sorun, Selenyumu kurarken.WebDriver.Firefox tarayıcısında testi çalıştırabilmek için GeckoDriver kodumu kırıyor ve testi chrome veya Firefox'ta çalıştıramıyorum. Herhangi bir fikir?

Yükledim

  • Selenyum.Web Sürücüsü
  • Selenyum.WebDriver.Krom sürücü
  • Selenyum.Firefox.Web Sürücüsü
  • Selenyum.WebDriver.Geckodrivername

Hata:

The file geckodriver.exe is being used by another process   

Başka bir hata:

The file is locked by geckodriver

Kod denemeleri:

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;

    internal class Program
        {
            IWebDriver driver = new ChromeDriver();
            //IWebDriver driver = new FirefoxDriver();
            static void Main(string[] args)
            {
            }
            [SetUp] //method to initialize page with windows maximized. 
            public void Initialize()
            {
                driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(30);
                driver.Navigate().GoToUrl("https://www.demo.bnz.co.nz/client/");
                driver.Manage().Window.Maximize();
                driver.Manage().Cookies.DeleteAllCookies();
            }
public void Payees()
        {
            System.Threading.Thread.Sleep(10000); //verify if page is loaded 
            IWebElement element = driver.FindElement(By.XPath("//*[@id='left']/div[1]/div/button"));//menu            
            element.Click();
            driver.FindElement(By.XPath("//*[@id='left']/div[1]/div/div[3]/section/div[2]/nav[1]/ul/li[3]/a")).Click(); //payes
        }
c# firefox geckodriver selenium
2021-11-23 04:45:24
1

En iyi cevabı

1

Bu hata iletisi...

"The file geckodriver.exe is being used by another process

ve

The file is locked by geckodriver

...sisteminizin belleğini işgal eden önceki test yürütmesinin artık GeckoDriver süreçleri olduğunu ima eder.

Bu sarkan GeckoDriver işlemleri kaldırılmadıkça, programınız yeni bir GeckoDriver hizmeti başlatamaz.

Artık işlemleri öldürmek için aşağıdaki kod bloğunu kullanabilirsiniz:

  • KullanımGetProcessesByName():

    foreach (var process in Process.GetProcessesByName("geckodriver"))
    {
        process.Kill();
    }
    
  • KullanımProcess.GetProcesses() gerekli işlemleri filtrelemek:

    var chromeDriverProcesses = Process.GetProcesses();
        Where(pr => pr.ProcessName == "chromedriver"); // without .exe
    
    foreach (var process in chromeDriverProcesses)
    {
       process.Kill();
    }
    

İdeal Çözüm

İdeal olarak, bu gereksiz işlemden kurtulmak için her zaman çağırın driver.quit() içinde tearDown(){} WebDriver ve Web İstemcisi örneklerini incelikle kapatma ve yok etme yöntemi.


Referanslar

Birkaç ilgili ayrıntılı tartışmayı şu adreste bulabilirsiniz::

2021-11-23 05:23:33

Kodumda bu Yöntemi nerede kullanmalıyım?
Yorda

@ Yorda Eklenen ayrıntıları ve referansları kontrol edin.
DebanjanB

Kodumda yırtılma var, ancak yorum yapıldı. İşaretini kaldırırım. Teşekkürler
Yorda

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................