一种同步Web浏览器操作的方法

时间:2017-05-24 15:03:54

标签: javascript browser ui-automation qa

这是出于质量保证的目的。我想打开3种不同的浏览器,当我在一个浏览器中输入网址时,其他浏览器也会打开同一个网站。当我在一个浏览器中进行操作时,其他浏览器也会发生相同的操作。

例如,当我在Chrome中打开google.com并搜索stackoverflow.com时,我希望Firefox和Safari能够做同样的事情。

我想知道是否已经有浏览器扩展,如果没有,最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

最终,我找到了自己的解决方案。这是我正在寻找的东西:

https://browsersync.io/

不过,我不是browserync的一部分。

答案 1 :(得分:0)

你应该考虑Selenium IDE

http://www.seleniumhq.org/projects/ide/

在一个浏览器中创建测试并对其他浏览器运行

答案 2 :(得分:0)

如果您想使用Java,可以使用以下逻辑/代码来满足您的要求。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.Wait;
import org.openqa.selenium.support.ui.WebDriverWait;

public class ParallelTest {
    static WebDriver driver1, driver2, driver3 ;

    public static void main(String[] args) {
        driver1 = new ChromeDriver();
        driver2 = new FirefoxDriver();
        driver3 = new SafariDriver();

        //Task 1 - Hit URL
        driver1.get("http://www.google.com/");
        driver2.get("http://www.google.com/");
        driver3.get("http://www.google.com/");

        //Task 2 - Enter search keyword and submit
        driver1.findElement(By.name("q")).sendKeys("search keyword\n");
        driver2.findElement(By.name("q")).sendKeys("search keyword\n");
        driver3.findElement(By.name("q")).sendKeys("search keyword\n");
        driver1.findElement(By.name("btnG")).click();
        driver2.findElement(By.name("btnG")).click();
        driver3.findElement(By.name("btnG")).click();

        //Similarly you can perform other action sequentially.

        //Validate the actions/responses of each driver/browser for the test results
    }
}

希望它有所帮助!