一尘不染

如何使用Selenium在测试之间存储值

selenium

selenium具有暂时存储数据项,然后在后续测试中检索它们的能力,例如

storeText | @id='ctl00_ContentPlaceHolder1_FormView1' | someValue

当需要跨测试边界结转值时,这在单个测试中以及在同一测试套件中的测试之间都可以很好地工作。不幸的是,它在测试套件之间不起作用(这是我们的应用程序的要求,其中包括许多引用同一对象的工作流)。Selenium如何用于跨Test
Suite边界存储值?


阅读 231

收藏
2020-06-26

共1个答案

一尘不染

可以使用javascript将Selenium Test中的值存储到浏览器的本地存储中,例如,如果以前已将某个值存储到 someValue

getEval | this.browserbot.getUserWindow().localStorage.setItem("someValue",storedVars['someValue'])
assertEval | this.browserbot.getUserWindow().localStorage.getItem("someValue") | ${someValue}
storeEval | this.browserbot.getUserWindow().localStorage.getItem("assetLabel") | someValue

在这种情况下, this.browserbot.getUserWindow() 返回应用程序的窗口。这会将 someValue
存储到本地存储中,随后可以从中将其取回到Selenium存储的变量中。

2020-06-26