ฉันต้องการถามคำถามเกี่ยวกับคลาส EdgeOptions
ฉันเห็นว่าคลาส DesiredCapabilities ล้าสมัยหรือเลิกใช้แล้วจากซีลีเนียมเพื่อสนับสนุน BrowerOptions (เช่น EdgeOption ChromeOptions, FirefoxOptions)
ตอนนี้ฉันได้พยายามทำการทดสอบข้ามเบราว์เซอร์ระยะไกลด้วย Edge, chrome และ firefoxด้วย Firefox และ Chrome การทดสอบข้ามทำงานได้ดี แต่ไม่มีขอบฉันได้รับข้อความแสดงข้อผิดพลาดนี้"OneTimeSetUp: OpenQA.Selenium.WebDriverException: Error forwarding the new session can not find: Capabilities {browserName: Edge, ms:extensionPaths: [ C:\Program Files (x86)\Micr...], ชื่อแพลตฟอร์ม: windows}"
Remote Selenium Hub กำลังทำงานและลงทะเบียนโหนดแล้ว แต่เมื่อตรวจสอบคอนโซลกริด (https://localhost:4444/grid/console) ฉันเห็นได้อย่างเดียวว่าไม่มีเบราว์เซอร์ขอบปรากฏขึ้น ดังนั้นฉันจึงลองใช้คำสั่งต่อไปนี้"java -jar selenium-server-standalone-3.141.59.jar -role webdriver -hub http://10.8.106.66:4444/wd/hub -port 53244 -browser browserName=microsoftedge,maxInstances=1,platform=WINDOWS -browser browserName=chrome,maxInstances=1,platform=WINDOWS -browser browserName=firefox,maxInstances=1,platform=WINDOWS" และยังทำได้เมื่อทำ Grid Console (https://localhost:4444/grid/console) ยังคงเห็น internet explorer และข้อความแสดงข้อผิดพลาดเดียวกัน"OneTimeSetUp: OpenQA.Selenium.WebDriverException: ข้อผิดพลาดในการส่งต่อเซสชันใหม่ไม่พบ: ความสามารถ {browserName: Edge, ms:extensionPaths: [C:\Program Files (x86)\Micr...], ชื่อแพลตฟอร์ม: windows}"
รุ่นกริดซีลีเนียมคือ 3.141.59
กรุณาช่วย. คลาสสคริปต์ที่พบข้อผิดพลาด Edge คือ:
ใช้ NUnit.Framework;
ใช้ OpenQA.Selenium;
ใช้ OpenQA.Selenium.Support.UI;
ใช้ OpenQA.Selenium.Firefox;
ใช้ OpenQA.Selenium.Edge;
ใช้ OpenQA.Selenium.Chrome;
ใช้ OpenQA.Selenium.Remote
ใช้ SeleniumExtras.WaitHelpers;
ใช้ SeleniumExtras.PageObjects;
ใช้ระบบ;
ใช้ System.Threading;
ใช้ System.Threading.Tasks;
ใช้ System.Collections.ObjectModel;
ใช้ System.Collections.Generic;
ใช้ POM_API;
เนมสเปซ POM_Web_EXE
{
[TestFixture("Chrome"/, " 97.0.4606.61"//, "หน้าต่าง" /)]
[TestFixture("Firefox"/, "92.0.1"//, "หน้าต่าง"/)]
[TestFixture("MicrosoftEdge"/, "94.0.992.31"//, "หน้าต่าง"/)]
[ขนานกันได้(ParallelScope.All)]
POM_Web_CrossTest คลาสสาธารณะ
{
HomePage_API apiHomeInstance;
SearchPage_API apiSearchInstance;
สตริงที่คาดไว้HomeWebTittle = "Google";
สตริง search_key = "LamdaTest";
ไดรเวอร์ iWebDriver;
เรียกดูสตริงสาธารณะ
// รุ่นสตริง;
//สตริงระบบปฏิบัติการ;
POM_Web_CrossTest สาธารณะ (เบราว์เซอร์สตริง/*, เวอร์ชันสตริง*//*, ระบบปฏิบัติการสตริง*/)
{
this.browse = เบราว์เซอร์;
//this.version = รุ่น;
//this.os = ระบบปฏิบัติการ;
}
[ตั้งค่าครั้งเดียว]
การตั้งค่าโมฆะสาธารณะ ()
{
สลับ (เรียกดู)
{
กรณี "MicrosoftEdge":
// เว็บไดรฟ์ในเครื่อง
ไดรเวอร์ = EdgeDriver ใหม่ ("C:\Program Files (x86)\Microsoft\Edge\Application");
driver.Manage().Window.Maximize();
หยุดพัก;
กรณี "Firefox":
// เว็บไดรฟ์ในเครื่อง
ไดรเวอร์ = FirefoxDriver ใหม่ ("C:\Program Files\Mozilla Firefox");
driver.Manage().Window.Maximize();
หยุดพัก;
กรณี "Chrome":
// เว็บไดรฟ์ในเครื่อง
ไดรเวอร์ = ChromeDriver ใหม่ ("C:\Program Files\Google\Chrome\Application");
driver.Manage().Window.Maximize();
หยุดพัก;
ค่าเริ่มต้น:
หยุดพัก;
}
}
[ทดสอบ สั่งซื้อ(1)]
โมฆะสาธารณะ HonePage()
{
Console.WriteLine("เรียกดู:= " + เรียกดู/* + " เวอร์ชัน := " + เวอร์ชัน + " ระบบปฏิบัติการ := " + ระบบปฏิบัติการ*/);
apiHomeInstance = ใหม่ HomePage_API (ไดรเวอร์);
apiHomeInstance.GotoWebpage();
async เป็นโมฆะ TaskDelay ()
{
รอ Task.Delay(300);
}
งานล่าช้า ();
ถ้า (คาดว่าHomeWebTittle == apiHomeInstance.GetCurPageTitle())
{
Assert.AreEqual(คาดว่าHomeWebTittle, apiHomeInstance.GetCurPageTitle());
Console.WriteLine("ชื่อเรื่องหน้าเป้าหมายหน้าแรกที่คาดหวังผ่าน");
}
งานล่าช้า ();
Assert.AreEqual(จริง, apiHomeInstance.GetWebPageLogo());
Console.WriteLine(apiHomeInstance.SearchKey());
งานล่าช้า ();
apiHomeInstance.SearchKeyWord(search_key);
}
[ทดสอบ สั่งซื้อ(2)]
โมฆะสาธารณะ Search_WebPage()
{
apiSearchInstance = ใหม่ SearchPage_API (ไดรเวอร์);
//หน้าเป้าหมายที่คาดหวัง
string expectTargetPageTitle = "เครื่องมือทดสอบข้ามเบราว์เซอร์ที่ทรงพลังที่สุดทางออนไลน์ | LambdaTest";
FinalPageManipulation_Load_API clickTargetlink = apiSearchInstance.ClickFinalTargetLink();
// การจัดการหน้าเป้าหมายขั้นสุดท้าย
Assert.AreEqual(จริง, clickTargetlink.finalLogoDisplay());
Assert.AreEqual(expectTargetPageTitle, clickTargetlink.getWebtitle());
ถ้า (expectTargetPageTitle == clickTargetlink.getWebtitle())
{
Console.WriteLine("ชื่อหน้าเป้าหมายหลักที่คาดไว้ผ่าน");
}
Assert.AreEqual(จริง, clickTargetlink.FinalPageRelease());
}
[OneTimeTearDown]
โมฆะสาธารณะ End_POM_EXE()
{
async เป็นโมฆะ TaskDelay ()
{
รอ Task.Delay(300);
}
บูล passResults = TestContext.CurrentContext.Result.Outcome.Status == NUnit.Framework.Interfaces.TestStatus.Passed;
พยายาม
{
((IJavaScriptExecutor)ไดรเวอร์).ExecuteScript("สถานะการทดสอบ Lamda" + (passedResults ? "ผ่าน" : "ล้มเหลว"));
}
ในที่สุด
{
งานล่าช้า ();
ไดรเวอร์ออกจาก ();
}
}
}
}