参数中隐含的Scala

问题描述

我正在为不同的Android和IOS设备上的测试设置编写一些自动化测试,我想在ADT上创建一个方法,该方法返回适合特定平台的定位器。

final case object HomeMenu extends MenuPoint {
    override def locator(implicit platform: Platform): String = platform match {
      case Base.Android => "AndroidWidget"
      case Base.Apple => "Apple ID"
      case browser: Base.browser => ""
    }
  }

我正在使用两个参数构建adt,即给定的TestDevice和我正在测试的应用的品牌。

品牌是adt的构建地,adt中每个可点击的元素都具有方法定位符。

所以我想要的是我可以将TestDevice作为参数,然后为我处理隐式,因此我不必将locator作为参数提供给locator方法

println(MainAppAdt(AndroidSmartPhone("galaxy S9+"),WebTv).brand.menu.head.locator)
println(MainAppAdt(AppleSmartPhone("iPhone X"),WebTv).brand.menu.head.locator)

我已经尝试为AndroidSmartPhone和AppleSmartPhone创建一个伴随对象,并在其中存储了隐式对象。但看起来只需要其中之一

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)