selenium - Xvfb डिस्प्ले को कैसे दिखाना है?




selenium-webdriver (3)

आप एक्सवीएफबी डिस्प्ले के खिलाफ एक वीएनसी सर्वर चलाकर लाइव व्यू प्राप्त कर सकते हैं, जैसे:

x11vnc -display :99 -localhost &
vncviewer :0

मैं एक्सवीएफबी के माध्यम से प्रदर्शन संख्या पर सेलेनियम चला रहा हूं: 99 इस तरह:

/ usr / bin / Xvfb: 99 -ac -creen 0 1024x768x8 और निर्यात DISPLAY = ": 99" && जावा -jar /usr/lib/selenium/selenium-server-standalone-2.24.1.jar -port 4444

हालांकि: 0 के अलावा अन्य नंबर के साथ प्रदर्शित डिफ़ॉल्ट रूप से दिखाई नहीं दे रहा है। मैं वास्तव में यह देखने के लिए कैसे दिख सकता हूं कि ब्राउज़र में सेलेनियम क्या कर रहा है?


आपको केवल x11vnc को स्थापित करने की आवश्यकता है:

sudo apt-get install x11vnc xvfb fluxbox

वैकल्पिक विंडो प्रबंधक के लिए वैकल्पिक रूप से फ्लक्सबॉक्स स्थापित करें।

फिर रिमोट कंट्रोल के लिए एक्सवीएफबी तक पहुंच सेट अप करने के लिए, आप एसएसएच पर एसएसएच या वीएनसी पर एक्स 11 का उपयोग कर सकते हैं, उदाहरण के लिए

export DISPLAY=:1
Xvfb :1 -screen 0 1024x768x16 &
fluxbox &
x11vnc -display :1 -bg -nopw -listen localhost -xkb

यदि आपका एक्सवीएफबी केवल लोकहोस्ट पर सुनता है, तो आप सुरंग को लोकलहोस्ट पर सेट कर सकते हैं, इसलिए सर्वर पर रिमोट कंट्रोल पाने के लिए एक vncviewer स्थानीयहोस्ट से कनेक्ट हो सकता है। उदाहरण के लिए

ssh -N -T -L 5900:localhost:5900 [email protected] &
vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900

या पासवर्ड के साथ सभी पते पर सुनने के लिए, उपयोग करें:

x11vnc -display :0.0 -usepw

पासवर्ड सेट करने के लिए, चलाएं: x11vnc -storepasswd

देखें: एक्सवीएफबी विकिपीडिया पेज पर एसएसएच पर रिमोट कंट्रोल

या आप निम्न एक-लाइनर का उपयोग कर सकते हैं:

$ x11vnc -create -env FD_PROG=/usr/bin/fluxbox \
    -env X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 \
        -env X11VNC_CREATE_GEOM=${1:-1024x768x16} \
        -gone 'killall Xvfb' \
        -bg -nopw
  • -क्रेट इसे एक्सवीएफबी शुरू करता है
  • X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 इसे बनाया गया XVfb सत्र बनाता है ( :0 बजाय प्रदर्शन :1 जो सामान्य डेस्कटॉप होगा)
  • FD_PROG=/usr/bin/fluxbox इसे FD_PROG=/usr/bin/fluxbox (उबंटू का एक, पृष्ठभूमि उबंटू लोगो होना चाहिए)
  • X11VNC_CREATE_GEOM=${1:-1024x768x16} स्क्रीन को 16 बिट रंग 1024x768 पर सेट करता है
  • जब यह बाहर निकलता है तो यह साफ हो जाता है अन्यथा Xvfb पीछे छोड़ दिया जाता है ( xvfb को मारने से भी xvfb को मारता है)

देखें: x11vnc और Xvfb के साथ उबंटू फ्लक्सबॉक्स जीयूआई


यह आभासी है। मैन पेज Xvfb(1) :

एक्सवीएफबी एक एक्स सर्वर है जो बिना डिस्प्ले हार्डवेयर और कोई भौतिक इनपुट डिवाइस वाली मशीनों पर चल सकता है। यह आभासी स्मृति का उपयोग कर एक गूंगा फ्रेमबफर emulates।

मैन पेज में भी:

Xvfb -pixdepths 3 27 -fbdir /var/tmp सर्वर सर्वर नंबर 0 के रूप में कनेक्शन के लिए सुनेंगे, डिफ़ॉल्ट स्क्रीन कॉन्फ़िगरेशन (एक स्क्रीन, 1280x1024x8) होगा, 3 और 27 की पिक्समैप गहराई का भी समर्थन करेगा, और मेमोरी मैप का उपयोग करेगा फ्रेमबफर के लिए / var / tmp में फ़ाइलें।

xwud -in /var/tmp/Xvfb_screen0 पिछले उदाहरण से शुरू सर्वर के स्क्रीन 0 प्रदर्शित करता है।





xvfb