我正在嘗試使用如下方法AppiumDriver為我的 testNG 測驗延遲初始化變數(服務)@BeforeSuite:
abstract class BaseTest {
lateinit var driver: AppiumDriver<MobileElement>
@Parameters("platform")
@BeforeSuite(alwaysRun = true)
fun init(platform: String) {
Configuration.isIOS = platform.lowercase() == "ios"
driver = <driver initialization>
println(driver)
}
}
我的測驗看起來像這樣:
class MedicationsTests : BaseTest() {
fun test_01() {
// Test using `driver` variable
}
}
@BeforeSuite方法init(String)在測驗開始之前運行(我看到列印輸出),但是當方法test_01()嘗試使用driver變數時,我得到了錯誤:
kotlin.UninitializedPropertyAccessException: lateinit property driver has not been initialized
它在@BeforeClass.
任何想法如何解決它?
uj5u.com熱心網友回復:
TestNG 將在每個測驗中為您創建一個 BaseTest 類的新實體。如果您想共享您的驅動程式 - 將其設為靜態。例子:
abstract class BaseTest {
companion object {
lateinit var driver: AppiumDriver<MobileElement>
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336846.html
