سؤال

أرغب في الحصول على تكوين حيث يقوم خادم البناء الخاص بي بتشغيل اختبار Nunit الذي يفتح ويحرك متصفحًا على جهاز بعيد. ما هي أفضل طريقة لإنجاز هذا؟

كان من السهل القيام به في السيلينيوم 1 ، لأن خادم Java Proxy جلس بين اختباراتك والمتصفح. في السيلينيوم 2 ، تتواصل اختباراتك مباشرة مع المتصفح (على الأقل في IE و Firefox).

هل هناك طريقة جيدة للقيام بذلك؟ ربما مع خدمة WCF أو شيء من هذا القبيل؟

هل كانت مفيدة؟

المحلول

تحتاج إلى الحصول على خادم السيلينيوم المستقل (التيار هو السيلينيوم خادم المرمى -2.0a6.jar) من http://code.google.com/p/selenium/. ثم ابدأ مع سطر الأوامر على الجهاز البعيد (تحتاج إلى تثبيت Java هناك):

java -jar selenium-server-standalone-2.0a6.jar

أيضا هناك أ .NET تنفيذ الخادم, ، لكن نسختها تقف وراء جافا

ثم يجب عليك استخدام RemoteWebDriver:

IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer());

ثم استخدم برنامج التشغيل كما تفعل في اختباراتك "المحلية"

مزيد من المعلومات:

http://code.google.com/p/selenium/wiki/remotewebdriver

http://www.google.com/codesearch/p؟hl=en#cjyjmzi8hyc/trunk/remote/client/src/csharp/webdriver-remote/remotewebdriver.cs

http://code.google.com/p/selenium/wiki/RemotewebDriverserver

نصائح أخرى

C# مثال على القيام بذلك مدرج في الرابط أدناه. تأتي ملفات برنامج التشغيل لـ Firefox في ثنائية المليء بكونها في ثنائية الجرة مع جرة خادم السيلينيوم التي يجب تشغيلها على الجهاز البعيد. ولكن يجب نقل موقع برنامج تشغيل Chrome و Internet Explorer إلى الخادم مع خيارات -dwebdriver.ie.driver

لمزيد من التفاصيل ، راجع هذا الرابطكيفية استدعاء/تشغيل نوع مختلف من متصفح برنامج تشغيل الويب باستخدام WebDriver عن بُعد في C#

يظهر الرمز الأساسي أدناه

        [Test]
    public void Test_OpeningHomePageUsingIE()
    {
        // Step b - Initiating webdriver
        IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), DesiredCapabilities.InternetExplorer());
        //Step c : Making driver to navigate
        driver.Navigate().GoToUrl("http://docs.seleniumhq.org/");       
        //Step d 
        IWebElement myLink = driver.FindElement(By.LinkText("Download"));
        myLink.Click();
        //Step e
        driver.Quit();
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top