2

FirefoxDriverで起動したJavaでSeleniumテストを作成しましたが、Firefoxブラウザで正常に実行されています。HtmlunitドライバでJavascriptに問題があります

それから私はこのようHtmlunitDriverでFirefoxDriver置き換えています:

driver = new HtmlUnitDriver(true); 

driver = new FirefoxDriver(); 

しかし、私はこのエラーを得た:

それが欠けています ';'私はそれがクラス宣言を認識しないと思われる

class SocketHandler { 
    constructor(url) { 
     this.url = url; 
     this.session = null; 
    } 

    .... 
} 

:命令(http://local.project/bundles/app/js/socket.js#1

前にこれはsocket.jsファイルです。どのようにそれを修正するための任意のアイデアですか?

+0

は、なぜあなたはHtmlUnitDriverを使いたいですか? –

+0

@ TarunLalwaniこれは、firefoxよりも少ないリソースを使用するので – Mit94

+0

PhantomJSを使用する方が良い。 'HtmlUnitDriver'はテストに最適なドライバではありません。 –

答えて

1

PhantomJを使用する必要はありません。 PhantomJsはあまり保守的ではありません。 chromedriverはヘッドレスモードで使用できます。

あなただけの以下のようにヘッドレスのようなオプションを追加する必要があります: - :まだあなたがphantomjsを使用する場合は一方で

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe"); 
ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.addArguments("--headless"); 
chromeOptions.addArguments("--start-maximized"); 
WebDriver driver = new ChromeDriver(chromeOptions); 
driver.get("https://google.com"); 

以下の完全なコードを見つけてください

chromeOptions.addArguments("--headless"); 

。その後、最初のダウンロードは場所を下方からバイナリphantomjs: -

http://phantomjs.org/download.html

は今のコードの下に使用します。 -

System.setProperty("phantomjs.binary.path","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\phantomjs\\phantomjs.exe"); 
DesiredCapabilities capabilities = null; 
ArrayList<String> cliArgsCap = new ArrayList<String>(); 
capabilities = DesiredCapabilities.phantomjs(); 
cliArgsCap.add("--web-security=false"); 
cliArgsCap.add("--ssl-protocol=any"); 
cliArgsCap.add("--ignore-ssl-errors=true"); 
capabilities.setCapability("takesScreenshot", true); 
capabilities.setJavascriptEnabled(true); 
capabilities.setCapability(
PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cliArgsCap); 
capabilities.setCapability(
PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS,new String[] { "--logLevel=2" }); 
driver = new PhantomJSDriver(capabilities); 
driver.get("https://www.google.co.in/"); 

が、それはあなたを助けることを願っています:)

+0

ありがとう、本当に助かりました。私はSeleniumでいくつかのテストローディングを行っています。ヘッドレスモードでも、コンピュータが "遅れ"を開始する前に50を超えるブラウザを置くことはできません。ブラウザを「明るくする」ために使用できる以上のchromeOptionsがあるかどうか知っていますか? PhantomJSに移る価値があるのか​​?私は同時に80のブラウザーに到達する必要があります。 – Mit94

+0

はい、あなたはphantomjsで試すことができます..あなたのホストが奴隷マシンに指示を送るセレングリッドコンセプトに行くこともできます。グリッドを使用すると、それぞれ40インスタンスを実行する2台のマシンが必要です –

関連する問題