2013-01-02 5 views
6

का उपयोग कर सेलेनियम के साथ ghostdriver कैसे चलाएं मैं कुछ वेब परीक्षण के लिए phantomJS का उपयोग करना चाहता हूं, और मैं GhostDriver (https://github.com/detro/ghostdriver) पर आया हूं। मैंने इसे रीडेमे में निर्देशों का उपयोग करके बनाया है और मैं इसे एक निर्दिष्ट बंदरगाह पर चला सकता हूं, लेकिन मुझे यकीन नहीं है कि मेरे जावा कोड से वेब ड्राइवर का उपयोग कैसे करें। स्पष्ट करने के लिए, मैं गहरे लाल रंग का में इस उदाहरण देखा है:जावा

caps = { 
    :browserName => "phantomjs", 
    :platform => "LINUX" 
    } 

urlhub = "http://key:[email protected]:4444/wd/hub" 

client = Selenium::WebDriver::Remote::Http::Default.new 
client.timeout = 120 

@webdriver = Selenium::WebDriver.for :remote, :url => urlhub, :desired_capabilities => caps, :http_client => client 
@webdriver.navigate.to "http://www.google.com/" 
puts @webdriver.title 
@webdriver.save_screenshot("./screenshot.png") 
@webdriver.quit 

मैं सिर्फ कैसे जावा से भी ऐसा ही करने यकीन नहीं है।

उत्तर

5

मेरा मानना ​​है कि यह लिंक आपके प्रश्नों का उत्तर देगा। आपको सेलेनियम 2.28.0, और फैंटॉमजेएस 1.8 की आवश्यकता होगी। मैंने इसका परीक्षण किया है, और यह विज्ञापित के रूप में काम करता है, हालांकि मेरे परीक्षण पूर्ववर्ती थे। ध्यान दें कि बाइंडिंग वाले जार को पाने के लिए आपको सेलेनियम ज़िप फ़ाइल डाउनलोड करने की आवश्यकता है। मेवेन रेपो अभी तक इसमें शामिल नहीं है।

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, 
       "/Path/to/bin/phantomjs");     
driver = new PhantomJSDriver(caps); 

तो यह एक सामान्य WebDriver की तरह इस्तेमाल किया जा सकता है:

http://ivandemarino.me/2012/12/04/Finally-GhostDriver-1-0-0/

+0

हाँ यह अब काम मिल गया। यह स्पष्ट नहीं था कि आपको सेलेनियम 2.28 की आवश्यकता है। धन्यवाद! – user650309

+0

@walton धन्यवाद आदमी) आपने मुझे सही दिशा में इंगित किया – klvtsov

14

बस दूसरों इसे कौन देख सकता है, जावा से इसे चलाने के लिए स्पष्ट करने के लिए।

+0

इसका अर्थ क्या है "/ पथ/से/bin/phantomjs", मुझे समझ में नहीं आया, कृपया समझाएं। – devsda

+0

बस phantomJS बाइनरी के लिए फ़ाइल पथ का उपयोग करें। – user650309

+0

हां, मैंने इस समस्या को हल किया। :) – devsda

2

पहले PhantomJSDriver की exe फ़ाइल डाउनलोड करें। स्थापित करने की आवश्यकता नहीं है, केवल http://phantomjs.org/download.html से इस फ़ाइल को डाउनलोड करें और दिए गए कोड में exe फ़ाइल का पथ दें।

public class Browserlaunch { 
    public static void main(String[] args) { 
     DesiredCapabilities DesireCaps = new DesiredCapabilities(); 
     DesireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "C:/Drivers/phantomjs/bin/phantomjs.exe"); 
     WebDriver driver=new PhantomJSDriver(DesireCaps); 
     driver.get("http://google.com"); 

    } 
} 
1

केवल सेट प्रणाली संपत्ति:

System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe"); 
WebDriver driver = new PhantomJSDriver();