当前位置: 首页 > 知识库问答 >
问题:

Selenium网格向一个浏览器并行发送值

萧光华
2023-03-14

以下是我如何从集线器/节点设置开始进行所有设置...

java-jar selenium-server-standalone-2.47.1.jar-role hub-maxinstances=10-maxsession=10-port 7777-timeout 29000

java-jar selenium-server-standalone-2.47.1.jar-role webdriver-hub http://localhost:7777/grid/register-maxsession=5-maxinstance=5-port 4441-timeout 30000-browser browsername=“safari”,platform=windows

<?xml version="1.0" encoding="UTF-8"?>

<suite name = "Cross Browser Testing" verbose = "3" parallel = "tests" thread-count="5">
    <test name = "Firefox Test">
    <parameter name = "browser" value ="firefox">
    </parameter>
        <classes>
            <class name = "TestClass.Dashboard"/>
            <class name = "TestClass.Login"/>           
        </classes>
    </test> 

        <test name = "Safari Test">
    <parameter name = "browser" value ="safari">
    </parameter>
        <classes>
            <class name = "TestClass.Dashboard"/>
            <class name = "TestClass.Login"/>           
        </classes>
    </test>     
</suite>
import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.testng.annotations.*;

public class Launch extends AbstractPage {

    public Launch() {
        super();
    }   

    @BeforeMethod
    @Parameters({"browser"})
    public void launchBrowsers(String browser) throws MalformedURLException {

        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setBrowserName(browser);
        capabilities.setJavascriptEnabled(true);

        // To remove message "You are using an unsupported command-line
        // flag: --ignore-certificate-errors.
        // Stability and security will suffer."
        // Add an argument 'test-type'
        ChromeOptions chrome = new ChromeOptions();
        chrome.addArguments("test-type");
        capabilities.setCapability(ChromeOptions.CAPABILITY, chrome);
        capabilities.setCapability("chrome.binary",
                "C:\\location\\chromedriver.exe");

        //setup internet explorer
        capabilities.setCapability("InternetExplorerDriverServer.IE_ENSURE_CLEAN_SESSION",true);
        System.setProperty("webdriver.ie.driver",
                "C:\\location\\IEDriverServer.exe");

        selenium = new RemoteWebDriver(new URL("http://localhost:7777/wd/hub"), capabilities);

        getSelenium().manage().window().maximize();
        getSelenium().manage().deleteAllCookies();

    }   

    @AfterMethod
    public void tearDown() {
        //close down browser window
        if (selenium == null) {
            try {
                selenium.quit();
                selenium.close();
            } catch (Exception e) {

            }
        }
    }
}
switch(browser) {

        case "iexplorer":   
            System.setProperty("webdriver.ie.driver",
                    "C:\\location\\IEDriverServer.exe");
            DesiredCapabilities capabilities1 = DesiredCapabilities.internetExplorer();             
            selenium = new RemoteWebDriver(new URL("http://localhost:7777/wd/hub"), capabilities1); 
            break;

        case "firefox":
            DesiredCapabilities capabilities2 = DesiredCapabilities.firefox();              
            selenium = new RemoteWebDriver(new URL("http://localhost:7777/wd/hub"), capabilities2); 
            break;  

        case "safari":
            DesiredCapabilities capabilities3 = DesiredCapabilities.safari();               
            selenium = new RemoteWebDriver(new URL("http://localhost:7777/wd/hub"), capabilities3); 
            break;  

        case "chrome":
            System.setProperty("chrome.binary",
                    "C:\\location\\chromedriver.exe");
            DesiredCapabilities capabilities = DesiredCapabilities.chrome();                
            selenium = new RemoteWebDriver(new URL("http://localhost:7777/wd/hub"), capabilities);          
            break;  

        default:
            break;
    }

暂时还没有答案

 类似资料:
  • 在过去的几个小时里,我一直在阅读推送通知应用编程接口和网络通知应用编程接口。我还发现谷歌 我试图了解我们是否可以使用桌面通知实现对浏览器的推送通知,我相信这就是Web通知API所做的。我在这里看到了一个关于如何为Chrome做到这一点的谷歌文档 现在我还不明白的是: 我们可以使用GCM/APNS向包括Firefox在内的所有Web浏览器发送推送通知吗 我相信所有这些答案都可以帮助很多有类似困惑的人

  • 问题内容: 我正在尝试使用Selenium服务器网格来并行运行多个命令。这是我的第一个测试代码: 结果是: 请求的屏幕截图 “获取”立即按顺序显示,“ driver.get”创建一个承诺。我的想法是,这三个请求是异步发出的,因此几乎同时出现。但正如您在屏幕截图中看到的那样,它们将一个接一个地制成。网格肯定有足够的selenium实例,那么为什么驱动程序不能并行工作?在我看来,“ new webdr

  • 我是Node.js的初学者,所以根据项目要求,我试图从Node.js调用REST服务,我从这个SO问题中获得了如何调用rest的信息。这是进行rest调用的代码: 问题是我想发送作为对浏览器的响应,我尝试了但它给我抛出了错误“写入方法未找到”。我到处都在文档中查找,但他们给出的只是console.log.有人能让我知道如何将该数据作为响应发送到浏览器吗?

  • 尽管 ASP 主要用来创建和处理服务器端脚本,还是可以使用它生成由客户浏览器处理的客户端脚本来扩展其效用。通过组合传送到浏览器的脚本命令可以编写服务器端脚本。 通过组合由 HTML 注释括起来的客户端脚本和由定界符括起来的服务器端脚本可以做到这一点: <SCRIPT LANGUAGE="VBScript"> <!-- client script <% server script %> cli

  • 有人知道如何在后台通过Apex/VisualForce在web浏览器中以编程方式运行url吗? (或者)除了在web浏览器中运行url之外,我还可以在Docusign中激活信封的“更正”状态吗?