相关疑难解决方法(0)

Selenium:启动服务器时出现"已在运行"错误

我正在尝试启动并运行Selenium服务器.但是,当我键入:

java -jar selenium-server-standalone-2.0b3.jar
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

Selenium已在端口4444上运行.或者其他一些服务.

我试图阻止它,以防万一它真的在运行:

HTTP://本地主机:4444 /硒 - 服务器/驱动器/ CMD =关机

这让我得到了这样的信息:

错误服务器异常:sessionId不应为null; 这个会议已经开始了吗?

如果我写的话:

HTTP://本地主机:4444 /

我明白了:

HTTP错误:403
禁止代理

想法?

selenium

37
推荐指数
6
解决办法
4万
查看次数

如何使用远程selenium webdriver下载文件?

我正在使用远程seleniumwebdriver执行一些测试.但是,在某些时候,我需要下载一个文件并检查其内容.

我使用远程webdriver如下(in python):

PROXY = ...

prefs = {
    "profile.default_content_settings.popups":0,
    "download.prompt_for_download": "false",
    "download.default_directory": os.getcwd(),
}
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_experimental_option("prefs", prefs)

webdriver.DesiredCapabilities.CHROME['proxy'] = {
  "httpProxy":PROXY,
  "ftpProxy":PROXY,
  "sslProxy":PROXY,
  "noProxy":None,
  "proxyType":"MANUAL",
  "class":"org.openqa.selenium.Proxy",
  "autodetect":False
}
driver = webdriver.Remote(
        command_executor='http://aaa.bbb.ccc:4444/wd/hub',
        desired_capabilities=DesiredCapabilities.CHROME)
Run Code Online (Sandbox Code Playgroud)

使用"普通"webdriver,我可以在本地计算机上下载文件而不会出现问题.然后我可以使用测试代码来验证下载文件的内容(可以根据测试参数进行更改).它不是对下载本身的测试,但我需要一种方法来验证生成的文件的内容 ......

但是如何使用远程 webdriver 做到这一点?我在任何地方都找不到任何帮助......

selenium selenium-webdriver

10
推荐指数
3
解决办法
9229
查看次数

如果指定了直接节点ip,IE11测试运行,但在指定网格集线器URL时失败

我使用nodejs selenium-standalone,我有:

1)使用role = hub在Mac上运行的selenium-standalone

2)使用role = node在Mac上运行的selenium-standalone(在本地Mac浏览器上运行测试)

3)Windows 10安装在parallels桌面上,运行带有role = node的selenium-standalone

4)关于本文配置IE11 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration

我在我的测试(yandex gemini)中有gridUrl配置,当我将它设置为windows节点url(http://10.211.55.4:5555/wd/hub)时,IE11测试工作正常.但是当我将gridUrl设置为正确的值(意味着本地网格集线器127.0.0.1:4444/wd/hub)时,IE11会打开"这是WebDriver服务器的初始启动页面".和控制台中"仅允许本地连接".在这种情况下,所有其他Windows浏览器都可以正常工作(chrome,firefox,edge).在mac selenium网格集线器控制台或windows selenium节点控制台中没有任何错误 - 似乎网格集线器不知何故错误地尝试调用Windows节点IEDriver.

启动selenium的命令:

1)MacOS中心:

java -jar 3.8.1-server.jar -role hub
Run Code Online (Sandbox Code Playgroud)

2)Windows10节点:

java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
Run Code Online (Sandbox Code Playgroud)

在此之后,我可以在MacOS http://127.0.0.1:4444/grid/console上看到所有节点和浏览器.

我使用selenium 3.8.1,IEdriver x64 3.8.0

MacOS中心终端截图:

MacOS集线器终端截图

Windows节点cmd截图:

Windows节点cmd截图

MacOS网格集线器控制台截图与配置:

MacOS网格集线器控制台截图与配置

MacOS网格集线器控制台截图:

MacOS网格集线器控制台截图

集线器和节点的DEBUG模式输出:

Windows节点控制台成功输出(不使用网格集线器直接连接):

2018-01-21 22:07:43.348:INFO:osjshC.ROOT:qtp31280858-9: org.openqa.selenium.remote.server.WebDriverServlet-11d44a3: Initialising WebDriverServlet

22:07:43.379 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@1f51925

22:07:43.379 INFO - /session: Executing POST on /session (handler: BeginSession)

22:07:43.458 INFO - Capabilities are: Capabilities {browserName: internet explorer, …
Run Code Online (Sandbox Code Playgroud)

selenium selenium-grid

8
推荐指数
1
解决办法
644
查看次数

未知选项:-Dwebdriver.chrome.driver在Mac上运行selenium server standalone时

我试图selenium server standalone在MAC 上手动运行,然后在Chrome浏览器中使用intern-runner运行我的测试.正如我在实习生用户指南中被告知的那样:

"要使用ChromeDriverIEDriver使用Selenium服务器,驱动程序可执行文件必须放在环境PATH中的某个位置,或者必须在启动Selenium服务器时使用-Dwebdriver.chrome.driver (ChromeDriver)-Dwebdriver.ie.driver (IEDriver)标志将它们的位置显式提供给Selenium服务器."

我启动了Selenium服务器并在我的机器上放置了chrome驱动程序的路径,但是出现了错误:

"未知选项:-Dwebdriver.chrome.driver"

关于为什么seleinum无法识别选项的任何想法?

有关如何chrome webdriver/IE webDriver使用selenium独立服务器从命令行运行的其他解决方案吗?

哪里可以将驱动程序可执行文件放在MAC上的环境PATH中?

我可以单独运行chrome驱动程序而不会出现任何问题:

./node_modules/.bin/chromedriver --port=4444 --url-base=wd/hub  
Run Code Online (Sandbox Code Playgroud)

macos selenium selenium-chromedriver

3
推荐指数
1
解决办法
1882
查看次数