首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium Grid与RemoteWebDriver

Selenium Grid与RemoteWebDriver
EN

Stack Overflow用户
提问于 2015-04-13 06:37:58
回答 2查看 2K关注 0票数 1

我有一个用Java编写的应用程序,创建一个特定的网站上的电子邮件帐户。由于某些原因,我需要在不同的windows用户帐户下运行程序的每个迭代。

我使用Selenium Grid (RemoteWebDriver)从中心服务器连接到远程服务器(网格)。

假设我在远程windows服务器上设置了多个windows用户帐户(例如"account639“、"account729”、"account889“等),并且希望hub分别连接到每个帐户并执行Java代码

我的问题是:我如何指定代码应该在网格服务器中的哪个windows用户帐户上执行?

据我所知,我可以添加到RemoteWebDriver的两个参数是远程服务器的主机名(或IP)和端口。我没有看到任何选项来指定它应该在哪个windows用户帐户下运行。

由于远程服务器下的所有windows用户帐户的主机名(IP)都是相同的,我如何告诉“集线器”每次在不同的windows用户帐户下执行这段代码?

我看到的唯一的可能性是在不同的端口下运行Selenium Grid的每个实例,并使用端口号作为区分两个windows用户帐户的一种方式(并确保我同时登录到这两个用户帐户)。

例如,我可以在"account639“上设置Selenium Grid来侦听端口6399,在"account729”上设置侦听端口"7299“-这样我就知道代码是在适当的windows帐户下执行的。

这可行吗?有没有一种不使用端口就能做到这一点的更直接的方法(即,是否可以像我指定端口那样指定集线器应该连接到哪个windows用户帐户?)

EN

回答 2

Stack Overflow用户

发布于 2015-04-14 16:27:55

以每个windows用户登录,在不同端口(例如: 5555、5556、5557)的每个帐号下运行selenium节点。如果每个节点都有相同的设置,我指的是相同的浏览器、相同的浏览器版本等。您可以使用"applicationName",这是一种受支持但未记录在案的额外功能。使用此功能,您可以区分您的节点。例如,在您的nodeConfig中:

代码语言:javascript
复制
...
{
    "applicationName":"account639",
    "platform":"WINDOWS",
    "browserName":"chrome",
    "maxInstances":5,
    "version":"40",
    "seleniumProtocol":"WebDriver"
},
...

之后,您可以设置RemoteWebDriver在属于特定窗口用户帐户的特定节点上运行测试。例如:

代码语言:javascript
复制
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability("applicationName", "account639");
...
WebDriver driver = new RemoteWebDriver(new URL(this.getHubUrl()), dc);

如果您想使用更多额外的功能,您可以创建自己的自定义功能匹配器(在Google:"selenium grid custom capability Matcher“中搜索),但如果您只需要一个额外的功能,我建议您使用上面提到的功能。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-04-14 06:36:45

在Selenium Grid中,这在技术上是不可能的。但是,您可以创建包装selenium网格的windows服务。

一旦安装了windows服务,您就可以选择希望该服务以谁的身份运行。

这里有一篇关于如何以帐户身份运行windows服务的文章:https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sys_srv_logon_user.mspx?mfr=true

我猜你可以通过以不同的用户在不同的端口上安装多个windows服务来实现你想要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29595466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档