PHP - Chrome Webdriver - Browserstack \\在我的yml中提供的设置自定义HTTP浏览器标题的正确变量是什么?
问题描述:
我正在尝试使用自定义HTTP UserAgent标题字符串绕过我们网站上的验证码。它可以手动正确工作,并且我正在尝试使其与我的自动化测试一起工作。我使用Codeception框架在PHP中编写它们。正如你可以在下面看到的,我尝试在我的配置文件yml中添加变量以用于browserstack-sierra-safari。 “标题”“用户代理”。我已经尝试将这个代码添加到win7-chrome中,以及在env中。我也尝试了可变的browserstack.useragent和browserstack.user-agent。我的配置文件如下。PHP - Chrome Webdriver - Browserstack \在我的yml中提供的设置自定义HTTP浏览器标题的正确变量是什么?
CLASS_NAME:AcceptanceTester
modules:
enabled:
- WebDriver
- Helper\Acceptance
- Helper\CaptchaSolver
- Asserts
config:
WebDriver:
url: '**********************'
browser: chrome
env:
prod:
modules:
config:
WebDriver:
url: '**********************'
test:
modules:
config:
WebDriver:
url: '************************'
dev:
modules:
config:
WebDriver:
url: '********************'
browserstack-win7-chrome:
modules:
config:
WebDriver:
host: '**************************'
port: 80
browser: chrome
capabilities:
browserstack.user: 'a******'
browserstack.key: '******************'
browserstack.console: 'verbose'
browserstack.idleTimeout: 300
acceptSslCerts: true
os: Windows
os_version: 7
browserstack.local: true
browserstack.debug: true
browserstack-sierra-safari:
modules:
config:
WebDriver:
host: '******************@hub.browserstack.com'
port: 80
browser: edge
capabilities:
os: Windows
os_version: 7
browserstack.local: true
browserstack.debug: true
browserstack.acceptSslCerts: true
headers:
Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
Accept-Language: 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'
User-Agent: 'Mozilla/5.0 (Windows NT 10.0; WOW64)'
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'
browserstack-win10-edge:
modules:
config:
WebDriver:
host: '****************@hub.browserstack.com'
port: 80
browser: Edge
capabilities:
os: Windows
os_version: 10
browserstack.local: true
browserstack.debug: true
有没有人成功发送的HTTP标头通过browserstack在自动化测试?如果是这样,使用了什么变量?
答
理想情况下,我会建议您在实例化浏览器时重写useragent。
对于例如,如果您使用的是Chrome和测试是在Java中实现,下面的代码应该有所帮助:
ChromeOptions options = new ChromeOptions();
options.addArguments("--user-agent=Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36");
driver = new ChromeDriver(options);
类似的路线
,而在browserstack实现它,你可能会使用以下行的代码您电话的webdriver
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("--user-agent=Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(“https://" + <BROWSERSTACK_USERNAME> + ":" + <BROWSERSTACK_KEY> + "@hub-cloud.browserstack.com/wd/hub”), capabilities);
不知道Browserstack有一个叫做browserstack.useragent或browserstack.useragent
任何能力