如何使用Serenity BDD管理浏览器选项卡?

时间:2018-08-15 10:36:24

标签: serenity-bdd

一个如何使用Serenity BDD管理浏览器标签或多个浏览器窗口?

例如,我正在测试的站点中有一个链接,该链接可以在其他目标中打开页面,这意味着它会在新的浏览器标签中打开。我的Serenity测试无法在新页面上找到简单的标头(由xpath“ // h3”定位),我能想到的唯一原因是它仍在查看原始的浏览器选项卡。因此,在断言之前,我需要以某种方式切换选项卡。

我知道我可以在Web驱动程序级别切换浏览器选项卡。但是由于我不能直接从actor获得驱动程序,因此访问actor正在使用的驱动程序的最佳方法是什么?是的,我正在将该驱动程序提供给参与者,因此可以对其进行引用,但是由于我在同一测试中使用了多个不同的参与者(来宾用户导致更改,只有管理员用户才能验证),使其比仅在某处的简单Web驱动程序参考要复杂一些。

所以我的问题又是:是否有一种很好的方法来管理内置在Serenity BDD或剧本模式中的演员浏览器中的选项卡?

1 个答案:

答案 0 :(得分:0)

您可以创建一个交互类来切换选项卡,并在交互类内部直接使用actor的驱动程序,例如

BrowseTheWeb.as(actor).switchTo().window(...)