【问题标题】:How to initialize variable for FindBy annotation in Selenium with Kotlin?如何使用 Kotlin 在 Selenium 中为 FindBy 注释初始化变量?
【发布时间】:2021-12-28 22:21:31
【问题描述】:

在 Kotlin 中使用 Selenium 的 FindBy 注释初始化变量的最佳方法是什么?

类似

@FindBy(id = "example")
private lateinit var button: WebElement

@FindBy(id = "example")
private val button: WebElement? = null

@FindBy(id = "example")
private var button: WebElement? = null

还是别的什么?

请注意,前面的所有方法都可以完美运行。

【问题讨论】:

    标签: selenium kotlin appium findby kotlin-lateinit


    【解决方案1】:

    第二个选项可能不起作用,因为 val 已经初始化为 null 并且无法更改。

    我相信在这种情况下使用lateinit 是可行的方法。主要是为了这个目的。

    【讨论】:

    • 它有效,我测试了它:当使用注解FindBy 时,它根本没关系。无论如何,如果您愿意,您可以考虑使用 var 而不是 val(我只是在主要问题中添加它)来考虑相同的问题。
    【解决方案2】:

    您需要延迟初始化,因为如果注释找不到它,您将有一个更容易理解的异常,而不是空指针异常

    【讨论】:

      猜你喜欢
      • 2013-05-06
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2021-07-08
      • 2020-02-02
      • 2018-12-15
      相关资源
      最近更新 更多