2012-06-18 122 views
1

我目前在當前瀏覽器上運行JBehave Selenium測試,我使用PropertyWebDriverProvider()來設置我的瀏覽器。 有我的代碼:如何在多個瀏覽器上運行jBehave測試?

公共類PlayerLandingPageRunner擴展JUnitStories {

private WebDriverProvider driverProvider = new PropertyWebDriverProvider(); 
private WebDriverSteps lifecycleSteps = new PerStoriesWebDriverSteps(driverProvider); 
private Pages pages = new Pages(driverProvider); 
private SeleniumContext context = new SeleniumContext(); 
private ContextView contextView = new LocalFrameContextView().sized(500, 100); 

public PlayerLandingPageRunner() { 
    if (lifecycleSteps instanceof PerStoriesWebDriverSteps){ 
     configuredEmbedder().useExecutorService(MoreExecutors.sameThreadExecutor()); 
     configuredEmbedder().useMetaFilters(asList("-skip")); 
    } 
} 

@Override 
public Configuration configuration() { 
    Class<? extends Embeddable> embeddableClass = this.getClass(); 
    return new SeleniumConfiguration() 
      .useSeleniumContext(context) 
      .useWebDriverProvider(driverProvider) 
      .useStepMonitor(new SeleniumStepMonitor(contextView, context, new SilentStepMonitor())) 
      .useStoryLoader(new LoadFromClasspath(embeddableClass)) 
      .useStoryReporterBuilder(new StoryReporterBuilder() 
       .withCodeLocation(codeLocationFromClass(embeddableClass)) 
       .withDefaultFormats() 
       .withFormats(CONSOLE, TXT, HTML, XML)); 
} 

...

我如何可以設置它在其他瀏覽器上運行? IE,Chrome?

謝謝!

回答

2

你應該通過「瀏覽器」系統屬性值的一個描述here到JVM。

下面是如何,你可以設置你的測試Chrome上運行。

如果在命令行中運行,只是通過像這樣

java -Dbrowser=chrome ... 

如果您使用的是Eclipse,開放運行配置,您使用的運行測試,並選擇配置追加到VM參數文本框-Dbrowser=chrome

+0

我收到錯誤: 「(org.jbehave.web.selenium.DelegatingWebDriverProvider $ DelegateWebDriverNotFound:webdriver的尚未發現該線程 請確認您使用的是正確的WebDriverProvider,如果與使用遠程適當的憑據。訪問,例如到SauceLabs。)「 我應該改變PropertyWebDriverProvider到別的東西嗎? 謝謝, –

+0

你好Paule。我有同樣的問題(webdriver尚未找到此線程...)。你最終把它整理出來了嗎? – balteo

+0

你好,不幸的不是。 –

相關問題