Geb - 如何同时使用两个用户/浏览器?

时间:2017-08-11 09:40:50

标签: selenium selenium-webdriver geb

我正在使用geb + selenium编写自动化测试。 我有很多场景需要用户之间的对话,如:

  1. 买方创建对话框
  2. 卖家回复
  3. 买方回复
  4. 卖家使用一些选项
  5. 买方使用某些选项......等
  6. 如何在每个步骤之前自动执行此测试而无需注销/登录? 我试图启动2个浏览器,但它比我想象的要难得多。

3 个答案:

答案 0 :(得分:1)

我建议你坚持下去并找到一种方法来简化使用多个浏览器实例(不幸的是,使用与其他答案中建议的相同WebDriver实例的多个窗口是不够的,因为会话将在它们之间共享)。我同意,它应该更难,但是你确实试图在两个人同时使用不同浏览器的情况下测试系统的行为。

历史上this github project尝试简化在单个测试中使用多个浏览器的尝试已经在Geb用户邮件列表中发布,我建议您查看它。 Craig Atkinson也根据该项目编写了a blog post

鉴于这种情况一再出现,Geb可能值得为此提供一些支持。不幸的是,我没有想出足够干净的实施方法,我很满意。随意在Geb的跟踪器中创建一个问题,并通过分享您的经验开始讨论。

答案 1 :(得分:0)

@BeforeSuite中写入登录代码。这样,登录只会在所有测试用例之前完成一次,然后在@AfterSuite中添加注销以通过注销结束套件。

答案 2 :(得分:0)

从geb的书中,似乎有处理多个窗口的方法:

http://www.gebish.org/manual/current/#working-with-multiple-tabs-and-windows

似乎有withNewWindow()方法,甚至能够获得所有打开的窗口。但是没有使用此行为的经验。