Selenium 能够临时存储数据项,然后在后续测试中检索它们,例如
storeText | @id='ctl00_ContentPlaceHolder1_FormView1' | someValue
当需要跨测试边界传递值时,这在单个测试中以及在同一测试套件中的测试之间运行良好。不幸的是,它在测试套件之间不起作用(这是我们的应用程序的要求,其中包括许多引用同一对象的工作流)。 Selenium 如何用于跨测试套件边界存储值?
最佳答案
可以使用 javascript 将来自 Selenium 测试的值存储到浏览器的本地存储中,例如如果先前已将值存储到 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 存储的变量。
关于selenium - 如何使用 Selenium 在测试之间存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630207/