2017-01-13 14 views
0

誰かが私を助けてくれますか? 私はJavaを使用してSelenideフレームワークで作業しています。セレンにはブラウザを開く方法があります。それは次のようになります: Selenide.open("http://www.google.com");セレン化物とクロムドライバー(Java)

デフォルトでは、FireFoxが使用されます。 Chromeを使用するには、次のようなシステムプロパティを設定する必要があります。

@BeforeTest 
    public void beforeTest() { 
     Configuration.timeout=5000; 
     System.setProperty("webdriver.chrome.driver", "chromedriver"); 
    } 

デフォルトのプロジェクトフォルダにあるChromedriver。私は間違っているの?

答えて

0

this GitHub wiki pageには、SelenideがWebDriverをどのように作成するかについて素敵な説明があります。項で述べたように

How to run Selenide with another browser」、あなたはいくつかの追加情報を取得するためにthis SO questionを見てみることができ

System.setProperty("webdriver.chrome.driver", "/path/to/your/chrome/driver"); 
WebDriver driver = new ChromeDriver(); 

を呼び出すことでドライバを設定する必要があります。

0

拡張子* .exeをファイル名に追加するだけで、完全なファイル名に拡張子を付けることができます。私は通常、ファイル名に完全なパスを追加します。この問題は、jmeter用のwebdriverサンプラーを設定したときに発生しました。サンプラーの設定では、クロムドライバーのフルパスを提供する必要がありました。後で、このアプローチはセレン化物でも正しいと判明しました。私が言及したことについての詳細はここにあります - How to use Selenium with webdriver、おそらくあなたの仕事に役立つ解決策になります。あなたは、単にこれを行う必要がある

1

:あなたはクロームサービスを使うべき理由

@Before 
public void setUp() 
{ 
    System.setProperty("webdriver.chrome.driver", "D:/chromedriver.exe"); 
    Configuration.browser = "chrome"; 
    open ("your link here"); 
} 
0
String chromeDriverPath = "/path/to/chromedriver.exe"; 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
ChromeDriverService Service = Builder 
    .usingAnyFreePort() 
    .withLogFile(new File("./chromdriver.log")) 
    .usingDriverExecutable(new File(chromeDriverPath)) 
    .build(); 
CommandExecutor commandExecutor = new DriverCommandExecutor(Service); 
RemoteWebDriver driver = new RemoteWebDriver(commandExecutor, capabilities); 
WebDriverRunner.setWebDriver(driver); //Set driver that Selenide should use 

はここで読む:http://www.qaautomationsimplified.com/selenium/run-chromedriver-with-chrome-driver-service-to-reduce-script-execution-time-significantly/

+0

ので動作しますここでの答えの本質的な部分は、参照のためのリンクを提供します。 – Peter

1
@BeforeTest 
public void setUp() 
{ 
    System.setProperty("webdriver.chrome.driver", "chromedriver exe file path"); 
    Configuration.timeout=5000; 
    Configuration.browser = "chrome"; 
    open ("https://www.google.com"); 
} 
+1

コードが問題を解決する理由を説明してください。 – JimHawkins

+0

@JimHawkins System.setProperty( "webdriver.chrome.driver"、 "chromedriver exe file path"); - > Chomedriverバイナリのプロパティを設定する、 Configuration.timeout = 5000; - >ブラウザタイムアウトのデフォルト設定のプロパティを設定します。 Configuration.browser = "chrome"; - >起動するブラウザのプロパティを設定すると、 が開きます( "https://www.google.com"); - >ブラウザを開き、URL(https://www.google.com) –

+0

を読み込み、あなたの答えを編集してコメントの内容を挿入してみませんか?答えを読んで欲しいと思っているのですが、それ以降はもっと詳しい情報を探すためにコメントを探してください。 – JimHawkins

0

をドライバーがプロジェクトフォルダ内にある場合、あなたが書くことができます。

System.setProperty("webdriver.chrome.driver", "src\\packages\\to\\driver\\between\\src\\and\\driver's\\folder\\chromedriver.exe"); 
1

あなただけにwebdrivermanager依存関係を追加するには、ブラウザのドライバですべての作業を簡素化するために、より詳細

+1

説明できますか? – mhatch

+0

そのセレン化物の形態。 [類似の質問](https://stackoverflow.com/questions/30768509/how-can-i-execute-selenide-in-chrome-using-chromedriver) – Vivyen

+0

このコメントを元の投稿に追加@Vivyen –

0

のため、この記事を見ることができます

Configuration.browser = "chrome"; 

Chromeブラウザのために以下のようなセレン化構成を使用することができますpom.xml(Mavenの場合)またはbuild.gradle(Gradle用)次に、テストの前提条件として

ChromeDriverManager.getInstance().setup(); 
Configuration.browser = "chrome"; 

を追加します。これらはChromeで実行されます。ファイルをダウンロードする必要はありません。また、値を名前に変更することで他のブラウザを使用することもできます(「firefox」など)。

0

Configuration.browserパラメータの値を定義していません。デフォルトでは、セレンデッドはFirefoxブラウザを起動します。クロムを起動するには、次の行を追加してください。 Configuration.browser = "chrome";

次のコードはあなたに適しています。これは質問、 [それが望ましいだろう](http://meta.stackoverflow.com/q/8259) を含むように答えるかもしれないが私に

@BeforeTest 
    public void beforeTest() { 

System.setProperty("webdriver.chrome.driver", "chromedriver"); 
Configuration.browser = "chrome"; 
Configuration.timeout=5000; 


    } 
0

@BeforeClass 
    public void baseSetUp() { 
       File file = new File("/path/to/chromedriver.exe"); 
       System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); 
       driver = new ChromeDriver(); 
       WebDriverRunner.setWebDriver(driver);} 
関連する問題