从paypal沙箱返回后,localhost拒绝连接

Har*_*osh 5 google-chrome paypal vagrant selenium-webdriver laravel-5

使用Selenium和chrome webdriver进行PayPal结账测试.

我尝试过使用另一个域名localhost和127.0.0.1

重要的是要注意我在Vagrant机器(宅基地)内运行

也可以手动运行测试.我认为这个问题是一个环境变量 PAYMENT_SANDBOX_PAYPAL_URL=http://localhost:8000/checkout/,但是从我理解的情况来看,这与使用webdriver运行自动化测试时应该没有区别.

这是流浪者和我的主人的网络问题吗?我怎么诊断这个?

在此输入图像描述

我理解这对于上面提到的设置是一个非常具体的问题,但我认为像我这样的其他新的selenium用户会发现它很有用,特别是在使用代码和laravel时.

也许它与白名单ip有关?这是当前命令.

java -jar vendor/se/selenium-server-standalone/bin/selenium-server-standalonjar -Dwebdriver.chrome.bin="/usr/bin/google-chrome" -Dwebdriver.chrome.driver="vendor/bin/chromedriver" -Dwebdriver.chrome.options="--whitelisted-ips=173.0.82.77,127.0.0.1"
Run Code Online (Sandbox Code Playgroud)

Sat*_*pta 0

我猜想 chrome 在手动启动(能够加载时)和通过 webdriver 启动时会使用不同的配置文件运行。WebDriver 在不同的配置文件中启动浏览器,该配置文件可能与默认配置文件有很大不同,默认配置文件可能包括一些与代理/网络相关的设置。

来自https://sites.google.com/a/chromium.org/chromedriver/capability

默认情况下,ChromeDriver 将为每个会话创建一个新的临时配置文件。有时您可能想要设置特殊首选项或仅使用自定义配置文件。如果是前者,您可以使用“chrome.prefs”功能(稍后介绍)来指定 Chrome 启动后将应用的首选项。如果是后者,您可以使用 user-data-dir Chrome 命令行开关告诉 Chrome 使用哪个配置文件:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");
Run Code Online (Sandbox Code Playgroud)

您只需运行 Chrome(在命令行上或通过 ChromeDriver)并将 user-data-dir 开关设置为某个新目录即可创建自己的自定义配置文件。如果该路径不存在,Chrome 将在指定位置创建新的配置文件。然后,您可以根据需要修改配置文件设置,ChromeDriver 将来可以使用该配置文件。在浏览器中打开 chrome://version 查看 Chrome 使用的配置文件。