วิธีที่อยู่ของข้อผิดพลาดแฟ้ม geckodriver.exe ถูกใช้โดยโพรเซสอื่นโดยใช้ไฟร์ฟอกซ์ name และ Selenium C#

0

คำถาม

ฉันพยายามจะหนีของฉันทดสอบใน Chrome และไฟร์ฟอกซ์ name ใช้ selenium c#. ปัญหาคือตอนที่ติดตั้งที่ Selenium.WebDriver.GeckoDriver เป็นต้องหนีการทดสอบบนเบราว์เซอร์ไฟร์ฟอกซ์ name มันแม่คนนี้เปิดอารมณ์ฉันได้เยอรหัสและฉันไม่สามารถวิ่งทดสอบใน chrome หรือไฟร์ฟอกซ์ name. รู้บ้างมั้ย?

ฉันติดตั้ง

  • Selenium.WebDriver
  • Selenium.WebDriver.ChromeDriver
  • Selenium.ไฟร์ฟอกซ์ name.WebDriver
  • Selenium.WebDriver.GeckoDriver

เกิดข้อผิดพลาด:

The file geckodriver.exe is being used by another process   

อีกข้อผิดพลาดคือ:

The file is locked by geckodriver

รหัสการสอบส:

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

คำตอบที่ดีที่สุด

1

นี่เกิดข้อผิดพลาดข้อความ...

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

แล้ว

The file is locked by geckodriver

...implies อนว่ามีพวกค้า GeckoDriver โพรเซสของคนก่อนทดสอบการประมวลผลมืออาชีพของระบบความทรงจำของฉัน

นอกจากพวกนั้นห้อยโหนอยู่บ GeckoDriver โพรเซสเป็นถูกเอาออกของคุณโปรแกรมคงจะไม่สามารถเริ่มการทำงานของใหม่ GeckoDriver บริการ.

เพื่อฆ่าคนค้าโพรเซสคุณสามารถใช้ตามกฎระดับพลังงานย่อย:

  • ใช้ GetProcessesByName():

    foreach (var process in Process.GetProcessesByName("geckodriver"))
    {
        process.Kill();
    }
    
  • ใช้ Process.GetProcesses() กำลังกรอกที่ต้องการโพรเซส:

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

ในอุดมคติทางออก

เข้าท่าดีนิเราจะทำทุกอย่างที่เราทำเพื่อกำจัดของหน่อยหรอระบวนการเรียกร้องเสมอ driver.quit() ภายใน tearDown(){} วิธีการจะปิด&ทำลาย WebDriver และ เว็บลูกค้าของ โห gracefully.


อ้างอิง

คุณสามารถค้นหาสองสามที่เกี่ยวข้องกล่องแสดงรายละเอียด discussions ใน:

2021-11-23 05:23:33

ที่อยู่ในรหัสของฉันฉันควรจะใช้วิธีการนี้?
Yorda

@Yorda ตรวจเพิ่มรายละเอียดและจะอ้างอิงไปยัง.
DebanjanB

ฉันต้อง teardown อยู่ในนรหัสแต่ก็ยัง. ฉันจะกาเลือกนั้น ขอบคุณ
Yorda

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่