2015-10-05 61 views
0

我正在使用playframework 2.3。如何在本地使用FirefoxDriver并在CI上使用RemoteWebDriver

当在CI env(Travis)上运行测试时,是否有方便的方式在本地使用FirefoxDriver并且使用RemoteWebDriver

经过一番努力,我来与一个帮手特点:

trait EnvAwareDriver { 
    def driver(): WebDriver = { 
    if (System.getenv("CI") == "true") { 
     WebDriverFactory(FIREFOX) 
    } else { 
     val caps = DesiredCapabilities.firefox() 
     caps.setCapability("platform", "Linux") 
     caps.setCapability("version", "32 .0") 
     caps.setCapability("tunnelIdentifier", System.getenv("TRAVIS_JOB_NUMBER")) 
     new RemoteWebDriver(new URL("…"), caps) 
    } 
    } 
} 

有没有更好的办法?

回答

0

最后,我想出了一个清洁的解决方案,通过在trait

trait EnvAwareDriver { 
    def localDrivers: Seq[String => WebDriver] 
    def remoteDrivers: Seq[String => WebDriver] 

    def drivers: Seq[String => WebDriver] = if (System.getenv("CI") != "true") localDrivers else remoteDrivers 
} 
提取逻辑
相关问题