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

如何使用MAC作为中心和Windows作为Nod在网格中运行chrome浏览器?

宰修能
2023-03-14

集线器: MAC 64位Nod: Windows 32位

无法运行Chrome浏览器使用Selina网格MAC作为集线器和Windows作为节点?

使用下面的代码,我得到一个错误(驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver.最新版本可从以下网站下载:http://code.google.com/p/chromedriver/downloads/list命令持续时间或超时:668毫秒)

public void chromeWindows() throws MalformedURLException{

System.setProperty("webdriver.chrome.driver", "/Users/vinayakkhatate/Desktop/jar/chromedriver2");
ChromeOptions opt = new ChromeOptions();
opt.setBinary("C:/Users/user/AppData/Local/Google/Chrome/Application/chrome.exe");


DesiredCapabilities capabilies = DesiredCapabilities.chrome();
capabilies.setBrowserName("chrome");
capabilies.setPlatform(Platform.VISTA);


driver = new RemoteWebDriver(new URL("http://10.0.11.118:5566/wd/hub"), capabilies);
driver.get(baseUrl);
System.out.println(driver.getTitle());

driver.close();
driver.quit();

}

共有3个答案

端木朝
2023-03-14

使用以下命令在Mac中启动集线器

java -jar selenium-server-standalone-2.33.0.jar -role hub

在windows中使用以下命令启动节点

java -jar selenium-server-standalone-2.33.0.jar -role node -hub http://localhost:4444/grid/register -maxSession 15 -browser browserName="chrome",version=ANY,platform=WINDOWS,maxInstances=15 -Dwebdriver.chrome.driver=pathtochromedriver\chromedriver.exe 

从以下位置下载chromeDrive

https://code.google.com/p/chromedriver/downloads/list

现在用下面的逻辑初始化驱动程序实例

System.setProperty("webdriver.chrome.driver", "/Users/test/chromedriver");
DesiredCapabilities dc=new DesiredCapabilities();
dc.setBrowserName("chrome");
dc.setPlatform(Platform.WINDOWS);
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), dc);
driver.get(Constants.SERVER_URL_NAME);
秦德海
2023-03-14

事实上,是chromedriver。exe必须存储在Windows节点上。我通过在我的测试文件夹中创建子文件夹/lib,在那里我存储chromedriver和所有其他与selenium网格相关的内容。稍后,在运行节点时,请执行以下操作:

java -jar lib/selenium-server-standalone-2.28.0.jar -role node -hub http://localhost:4444/grid/register -maxSession 15 -browser browserName="chrome",version=ANY,platform=WINDOWS,maxInstances=15 -Dwebdriver.chrome.driver=lib\chromedriver.exe 

尤其要注意-D开关:

-Dwebdriver.chrome.driver=lib\chromedriver.exe 

这就是我设置chromedriver的方式。exe路径。注意相对路径,所以我不必真正关心工具在绝对路径中运行的位置。希望有帮助

编辑显然,集线器和节点计算机应该可以通过IP访问。例如,我的工作电脑在我们的内部网络中有IP10.131.7.11,所以如果这是集线器计算机,那么节点设置将是这样的:

java -jar lib/selenium-server-standalone-2.28.0.jar -role node -hub http://10.131.7.11:4444/grid/register -maxSession 15 -browser browserName="chrome",version=ANY,platform=WINDOWS,maxInstances=15 -Dwebdriver.chrome.driver=lib\chromedriver.exe

请注意,本地主机已更改为集线器的IP。因此,接下来的步骤是:

  • 将集线器和节点设置为在同一网络上,并可通过IP地址访问

EDIT2这是我运行chrome的方式:

  if (System.getProperty("os.name").contains("Windows")) {
        System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver.exe");
    } else {
        System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver");
    }

  capabilities = DesiredCapabilities.chrome();
  capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized"));

  driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);
鲜于允晨
2023-03-14

我有从Mac电脑运行Chrome浏览器到Windows Vista的解决方案(在Windows Vista电脑中下载并保存chromedriver)

使用以下命令在Mac中启动集线器

java -jar selenium-server-standalone-2.33.0.jar -role hub

在windows中使用以下命令启动节点

java -jar selenium-server-standalone-2.33.0.jar -role node -hub http://localhost:4444/grid/register -maxSession 15 -browser browserName="chrome",version=ANY,platform=WINDOWS,maxInstances=5 -Dwebdriver.chrome.driver=pathtochromedriver\chromedriver.exe

现在在Mac机器上用eclipse编写代码

DesiredCapabilities capabilies = DesiredCapabilities.chrome();
capabilies.setBrowserName("chrome");
capabilies.setPlatform(Platform.ANY);

driver = new RemoteWebDriver(new URL("http://<ip address of windows machine>:5555/wd/hub"), capabilies); 
 类似资料:
  • 我已经设置了一个包含3列的css网格来显示我们的投资组合。我找到了一个Firefox、Internet Explorer和Safari的工作代码。但是在Chrome上,它并没有显示我的网格,所有的图片都在下面。见网址:http://www.ddw-sanitair.be 此外,它不接受“display:none”类的一些图片,因此双/三图像... 有什么建议吗? 我尝试添加网格自动行:270px;

  • 我有一些使用JUnit和Selenium的测试,我需要在Chrome浏览器上运行它。我下载了Chrome驱动程序,并将我的SetUp()配置为: ChromeDriver.exe添加在我的引用库文件夹中。 当我运行测试时,会显示以下错误:java.lang.exception:没有可运行的方法 有人知道我该怎么解决吗? 解决方案 2更新您的setProperty为:第二个参数必须是您的C在哪里hr

  • 问题内容: 我在Windows 7 32位操作系统中安装了postgreSQL二进制文件;我可以从cmd启动服务器,但 不能将其作为Windows服务运行。 这是我尝试手动启动服务时遇到的错误: 我要做的就是 双击我的Java应用程序启动到Windows后,我需要流畅地运行我的应用程序而没有任何数据库错误。我不能这样做,因为postgreSQL没有作为Windows服务运行。 我在Windows事

  • 问题内容: 对于我的Rails 3.1应用程序上的Cucumber场景,我使用了@javascript标记,因此Selenium已激活。我收到以下错误: 如果可能的话,我想使用Google Chrome浏览器作为浏览器-而不是Firefox(我尚未安装)。这可能吗?该怎么办? 实际上,Cucumber / Selenium不应检测并使用浏览器吗? ====编辑==== 添加后 …到features

  • 问题内容: 想知道是否可以用一个小的PHP包装程序从浏览器中执行,因为我无权访问服务器的外壳程序。 不确定是否可以使用cURL做到这一点? 问题答案: 是的,您可以使用一个小的PHP包装器来运行Composer。Phar文件中提供了所有Composer源代码,因此可以提取该源代码,然后在设置InputInterface替换Composer后运行它,并期望通过命令行传递命令。 如果您这样设置目录结构

  • 问题内容: 这是我的代码 这段代码在IE8中工作正常,但是在Firefox和Chrome浏览器中却失败了。当我检查XHR对象时,它表示状态码为0。我检查了所有其他问题,没有一个问题可以帮助我识别问题。 让我知道,如果我在这段代码中做错了什么。如果$ .ajax有一些兼容性问题,请提出与其等效的建议。 更新: 我们在http://www.xml.com/pub/a/2005/12/21/json-d