قدّم الوكيل كـقدرة لجلسة المتصفح قبل driver$open()، في نشر RSelenium يقبل خادم WebDriver فيه بروتوكول الجلسة:

browser_proxy <- list(
  proxyType = 'manual',
  httpProxy = 'proxy.example:8080',
  sslProxy = 'proxy.example:8080'
)

driver <- RSelenium::remoteDriver(
  remoteServerAddr = 'webdriver.example',
  port = 4444L,
  browserName = 'chrome',
  extraCapabilities = list(proxy = browser_proxy)
)
driver$open()

يحدّد remoteServerAddr خدمة WebDriver. وتصف القدرة إلى أين يذهب المتصفح بعد ذلك. إعداد وكيل HTTP في R وحده لا يضبط مسار المتصفح ذلك.

استخدم host:port في httpProxy وsslProxy. يختار الأخير وجهات HTTPS؛ وهو لا يعني مستمع وكيل محميًا بـ TLS. ومرشح HTTP عام من قائمة وكلاء HTTP يوفر مضيفًا ومنفذًا لهذين الحقلين، بشرط أن يستطيع مضيف المتصفح الوصول إليه.

أي فشل حدث أولًا؟

إذا رُفض فتح الجلسة، فتحقّق من توافق البروتوكول قبل تغيير نقطة نهاية الوكيل. فمصدر remoteDriver في RSelenium يرسل desiredCapabilities القديمة؛ وقد يرفض خادم WebDriver حديث اعتباطي ذلك التنسيق قبل وجود متصفح لاختبار المسار.

إذا فُتحت الجلسة لكن فشل التنقل، فتحقّق من إمكانية الوصول من مضيف المتصفح الفعلي. فبالنسبة إلى حاوية أو عقدة Grid، يعني localhost تلك العقدة، لا محطة عمل R.

مقالات ذات صلة