2017-05-31 43 views
1

这里是我的情况下,需要进行自动化:如何登录到Selenium Web驱动程序中与不同用户并行的网站?

  1. 我需要登录到网站不同用户说的Gmail“。
  2. 执行不同的操作说“撰写”,“更改设置”等
  3. 然后注销。

我需要并行地执行所有上述步骤。

  • class1的 - 打开多个Chrome驱动程序。
  • class2 - 执行诸如导航,输入文本,点击等操作的方法
  • class3 - 包含测试用例。

下面是我的代码:

public class1 { 
    public static RemoteWebDriver[] driver = new RemoteWebDriver[3]; 
    public void openBrowser(){ 
     System.setProperty("webdriver.chrome.driver", chromeDriverPath); 
     for(i = 0;i<2;i++){ 
      driver[i] = new ChromeDriver(); 
      driver[i].manage().window().maximize(); 
     } 
    } 
} 

public class2 extends class1 { 
    public void click() {...} 
    public void setText() {...} 
} 

public class2 { 
    @Test 
    public void test1() {...} 
    public void test2() {...} 
} 

用我上面的代码中,我为能打开多个浏览器实例与不同的会话ID的。

然后,操作在同一浏览器中多次完成,即导航到gmail.com 3次,然后输入用户名3次(user1user1user1)。

它不在3个不同的浏览器实例中运行。

请帮助我实现这一目标。

+0

您能否考虑向我们展示您的作品? – DebanjanB

+0

@DebanjanB,你想展示我的完整编码吗? – Bala

+0

如果您将精确的工作放在这里而不是原型,那么SO社区志愿者会向您建议最有效的解决方案将会有所帮助。谢谢 – DebanjanB

回答

0

您使用TestNG的,所以你可以创建一个在您的XML这种使用parallel属性。网上有很多关于这个的教程。 This可能是你感兴趣的。

而且this谷歌组线程拥有约这是一个非常好的讨论。

详细的博客文章是here

+0

谢谢!!! ..详细的博客链接很有用。但是,我仍然无法并行执行。我为套件实施了相同的技术。没用。我使用'ISuiteListener'接口而不是IInvokedMethodListener。在我的场景中,我不需要类/方法并行运行,我需要套件并行运行。 – Bala

0

请参阅this链接,了解如何同时为不同浏览器节点传递不同凭据,并在this链接上提供我的答案,以了解如何在不同浏览器节点上同时测试多个测试脚本。如有任何问题,请告知我。

相关问题