如何在Selenium Web驱动程序中登录与不同用户并行的网站?

时间:2017-05-31 14:36:42

标签: java selenium selenium-webdriver testng parallel-testing

以下是我需要自动化的方案:

  1. 我需要登录不同用户的网站说'gmail'。
  2. 执行不同的操作,例如'撰写','更改设置'等。
  3. 然后退出。
  4. 我需要并行执行上述所有步骤。

    • 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个不同的浏览器实例中运行。

    请帮助我实现这一目标。

2 个答案:

答案 0 :(得分:0)

您正在使用TestNG,因此您可以使用XML中的parallel属性创建此属性。互联网上有很多关于此的教程。 This可能对您有用。

同样this google group thread对此进行了非常好的讨论。

详细博文是here

答案 1 :(得分:0)

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