2017-09-07 170 views
0

我正在嘗試使用自定義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在自動化測試?如果是這樣,使用了什麼變量?

回答

0

理想情況下,我會建議您在實例化瀏覽器時重寫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

任何能力
相關問題