Gibt es eine Möglichkeit zur automatischen Überprüfung der Google Page Speed-Scores?So automatisieren Sie Google PageSpeed Insights-Tests mit Python
Antwort
Also habe ich herausgefunden, wie dies mit der Google Page Speed API begraben in der documentation.
Die Erklärung zu TL: DR lautet, dass Sie die URL nach der Aktivierung der Google Pagespeed-API in der Cloud Console durch die URL ersetzen können (und in einem Browser müssen Sie außerdem einen authentifizierten Google Cloud-Nutzer angemeldet haben).
https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url={YOUR_SITE_URL}/&filter_third_party_resources=true&locale=en_US&screenshot=false&strategy=desktop&key={YOUR_API_KEY}
Wie Sie aus dem obigen Link sehen können, benötigen Sie einen Google Pagespeed API Key. Dies sind von Grund auf Setup-Anweisungen. Wenn sich Ihr Projekt bereits in der Cloud Console befindet, können Sie die ersten Schritte überspringen.
- Cloud gehen https://console.developers.google.com
- Zeichen für ein Konto, wenn nötig.
- Erstellen eines Projekts
- Zum Menü> API-Manager> Credentials
- Anmeldeinformationen Schaltfläche Erstellen> API Key
- Copy Key schließen Sie dann treffen
- Menü> Armaturenbrett> API aktivieren
- Verwenden Suche finden Pagespeed Insights API und klicken sie darauf
- Verwenden sie die „|> FREIGABE“ Taste in der Nähe der Titel
Sobald Sie einen API-Key haben Sie die Werte in der URL ersetzen können, sollte es in etwa so aussehen:
https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=https://www.example.com/&filter_third_party_resources=true&locale=en_US&screenshot=false&strategy=desktop&key=FaKeApIKey29nS8U22mM
Der Parameter Strategie = Desktop in der URL kann zur Strategie = mobil geändert werden. Für Mobilgeräte erhalten Sie eine Geschwindigkeit und eine Benutzerfreundlichkeit. Hier ist, was der Beginn der JSON wie folgt aussieht:
{
"kind": "pagespeedonline#result",
"id": "https://www.example.com/fake/page”,
"responseCode": 200,
"title": "Example Domain",
"ruleGroups": {
"SPEED": {
"score": 100
},
"USABILITY": {
"score": 100
}
},
....continued...
So automatisiert ich dies eine Python & Python Unit Test verwendet wird.
import requests
import json
import unittest
from globes import *
api_key = '' # Add API key. Found here: https://console.developers.google.com/apis/credentials/key/
base = 'http://example.com'
locale_code = 'en_US'
def get_insights_json(self, page_url, local, device_type, api_key, speed_or_useability, expected_score):
url = 'https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=' + page_url + '&filter_third_party_resources=true&locale=' + local + '&screenshot=false&strategy=' + device_type + '&key=' + api_key
# print "Getting :: " + url
r = requests.get(url)
return_code = r.status_code
try: self.assertEqual(return_code, 200)
except AssertionError, e: self.verificationErrors.append(str(page_url) + " did not return 200")
return_text = r.text
return_json = json.loads(return_text)
score = return_json['ruleGroups'][speed_or_useability]['score']
print 'Getting ' + speed_or_useability + ' for ' + page_url + ' and got a score of ' + str(score)
try: self.assertTrue(int(score) >= expected_score)
except AssertionError, e: self.verificationErrors.append(str(page_url) + ' expected ' + device_type + ' speed score to be greater than ' + str(expected_score) + ', instead got ' + str(score))
class TestAllAPIs(unittest.TestCase):
def setUp(self):
self.verificationErrors = []
self.maxDiff = None
def tearDown(self):
self.assertEqual([], self.verificationErrors)
def test_desktop_speed(self):
current_page = base + '' # You could add to the url to test other pages, I tend to do this is a loop using a list I set up by base url.
device_type = 'desktop'
target = 'SPEED'
get_insights_json(self, current_page, locale_code, device_type, api_key, target, 80)
def test_mobile_speed(self):
current_page = base + ''
device_type = 'mobile'
target = 'SPEED'
get_insights_json(self, current_page, locale_code, device_type, api_key, target, 80)
def test_mobile_useability(self):
current_page = base + ''
device_type = 'mobile'
target = 'USABILITY'
get_insights_json(self, current_page, locale_code, device_type, api_key, target, 80)
if __name__ == "__main__":
unittest.main()
Es gibt eine Sache, die mir ein wenig von einem Geheimnis ist deshalb Browser mit Google authentifiziert werden müssen JSON erhalten von URL aber Python-Anfragen nicht.
- 1. Nginx PPA mit Google PageSpeed
- 2. Automatisieren Sie Firefox mit Python?
- 3. Google PageSpeed Apache Fehlerprotokoll CentOS
- 4. So automatisieren Sie mehrere Piezoaktoren
- 5. Automatisieren Dekstop Screening mit Python
- 6. So automatisieren Sie die Chrome-Erweiterung mit der codierten Benutzeroberfläche?
- 7. Python: Automatisieren E-Mails
- 8. Google PageSpeed und jpg verlustfreie Komprimierung
- 9. Export PageSpeed Insights (von Google) Ergebnisse
- 10. Automatisieren Google Chrom extenions mit sahi
- 11. Firebase-Hosting-Cache + Google PageSpeed Insights
- 12. So automatisieren Sie den Installer-Test
- 13. Google Scripts automatisieren mit spezifischen Format
- 14. So automatisieren Sie Azure IaaS-VMs
- 15. So automatisieren Sie Zugriffstoken in Soap UI
- 16. zu automatisieren Google Chrome Webseite
- 17. Fehler beim Analysieren der Seite mit Google PageSpeed Insights
- 18. Google Instant App - Automatisieren mit Appium
- 19. So automatisieren Sie die Erstellung von String-Elementen mit datetime
- 20. So automatisieren SFTP-Datei löschen mit Passwort
- 21. Automatisieren Sie Excel-Daten in ein Word-Dokument mit Python
- 22. So erstellen Sie eine Fusionstabelle mit dem Google-Python-API
- 23. Automatisieren Sie Download-Dateien mit POP UP
- 24. Set HTTP-Caching Expiration, empfohlen von Google Pagespeed
- 25. Carrierwave, wie man Bilder für Google PageSpeed komprimiert
- 26. Windows GUI-Operationen mit Python automatisieren
- 27. Tippen Ziele sind zu klein - Google Pagespeed Feedback
- 28. So arbeiten Sie mit Unicode in Python
- 29. Wie automatisieren Sie Outlook?
- 30. So optimieren Sie die von Instagram angeforderten Bilder, um PageSpeed Insights zu erfüllen.