我是Scala的新手并且还在学习。我正在尝试执行/设计以下方法:
class BasePage (implicit val webDriver: WebDriver, val environment: String) {...}
class LoginPage extends BasePage {...}
class testSpecs extends Specification{
new WithBrowser(webDriver = currentDriver, app = application){
implicit val webDriver= browser.webDriver
implicit val environment = s"localhost:$port"
val loginPage = new LoginPage()
...
}
我想要的是让webDriver和环境(在第一次创建时)可用于testSpecs中测试脚本/测试中的所有页面对象类。
在这种方法中我得到的错误如下:
无法找到参数webDriver的隐含值:org.openqa.selenium.WebDriver
非常感谢。
答案 0 :(得分:1)
BasePage
的构造函数需要2个参数。定义类LoginPage
时,这些隐式值不在范围内,因此您必须这样写:
class LoginPage(implicit val webDriver: WebDriver, val environment: String) extends BasePage {...}
现在LoginPage
还有2个隐式参数,这些参数隐式传递给BasePage
的构造函数。