From 0086c389331613a62efa56af76eb70367ec5c514 Mon Sep 17 00:00:00 2001 From: Jack Walker Date: Fri, 24 Apr 2020 18:08:26 +1000 Subject: [PATCH] Updated Edge fingerprinting, was incorrectly being identified as Chrome in some cases. --- core/main/client/browser.js | 2 +- spec/beef/core/main/handlers/browser_details_handler_spec.rb | 2 +- spec/spec_helper.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/main/client/browser.js b/core/main/client/browser.js index fe5920efc..d40b9feb2 100644 --- a/core/main/client/browser.js +++ b/core/main/client/browser.js @@ -127,7 +127,7 @@ beef.browser = { * @example: beef.browser.isEdge() */ isEdge: function () { - return !beef.browser.isIE() && !!window.StyleMedia; + return !beef.browser.isIE() && !!window.StyleMedia && (window.navigator.userAgent.match(/Edg\/\d+\.\d/) || window.navigator.userAgent.match(/Edge\/\d+\.\d/)); }, /** diff --git a/spec/beef/core/main/handlers/browser_details_handler_spec.rb b/spec/beef/core/main/handlers/browser_details_handler_spec.rb index 7ebf96b68..aaef0ff0c 100644 --- a/spec/beef/core/main/handlers/browser_details_handler_spec.rb +++ b/spec/beef/core/main/handlers/browser_details_handler_spec.rb @@ -113,6 +113,6 @@ RSpec.describe 'Browser Details Handler', :run_on_browserstack => true do response = RestClient.get "#{RESTAPI_HOOKS}/#{@session}?token=#{@token}" details = JSON.parse(response.body) - expect(@driver.browser.to_s.downcase).to eq(details['browser.name.friendly'].downcase).or eq('internet_explorer').or eq('msedge') + expect(@driver.browser.to_s.downcase).to eq(details['browser.name.friendly'].downcase).or eq('internet_explorer') end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a91316d39..243883ce7 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -38,7 +38,7 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base end TASK_ID = (ENV['TASK_ID'] || 0).to_i -CONFIG_FILE = ENV['CONFIG_FILE'] || 'windows/win_10/win10_chrome_81.config.yml' +CONFIG_FILE = ENV['CONFIG_FILE'] || 'windows/win10/win10_chrome_81.config.yml' CONFIG = YAML.safe_load(File.read("./spec/support/browserstack/#{CONFIG_FILE}")) CONFIG['user'] = ENV['BROWSERSTACK_USERNAME'] || '' CONFIG['key'] = ENV['BROWSERSTACK_ACCESS_KEY'] || ''