Generator nasumičnih korisničkih agenata za testiranje web razvoja

Generirajte realistične nizove korisničkih agenata preglednika s opcijama filtriranja prema vrsti uređaja, obitelji preglednika i operativnom sustavu. Savršeno za testiranje web razvoja i provjere kompatibilnosti.

Generator nasumičnih korisničkih agenata

Generirajte nasumične, realistične nizove korisničkih agenata preglednika za testiranje web razvoja.

Generirani korisnički agent

Kopiraj
📚

Dokumentacija

Generator nasumičnih korisničkih agenata

Uvod

Korisnička agenta string je specifičan tekstualni identifikator koji web preglednici i druge aplikacije šalju web stranicama kako bi se identificirali. Ovaj string obično sadrži informacije o pregledniku, operativnom sustavu, vrsti uređaja i renderirajućem motoru koji se koristi. Za web programere i testere, pristup raznim realističnim korisničkim agentima je bitan za testiranje kompatibilnosti web stranica, responzivnosti i funkcionalnosti na različitim platformama.

Ovaj alat za generiranje nasumičnih korisničkih agenata stvara autentične korisničke agenta stringove na temelju vaših odabranih parametara. Možete filtrirati prema vrsti uređaja (desktop ili mobilni), obitelji preglednika (Chrome, Firefox, Safari ili Edge) i operativnom sustavu kako biste generirali korisničke agente koji odgovaraju vašim testnim zahtjevima. Alat pruža jednostavno sučelje s opcijama za kopiranje generiranog stringa jednim klikom i trenutnim generiranjem novih nasumičnih stringova.

Struktura korisničkog agenta

Korisnički agent stringovi slijede specifične obrasce ovisno o pregledniku i platformi, ali općenito sadrže nekoliko zajedničkih komponenti:

  1. Identifikator preglednika: Obično počinje s "Mozilla/5.0" iz povijesnih razloga kompatibilnosti
  2. Informacije o platformi/OS-u: Detalji o operativnom sustavu (Windows, macOS, Android, iOS)
  3. Motor preglednika: Renderirajući motor (poput Gecko, WebKit ili Blink)
  4. Detalji preglednika: Specifično ime i verzija preglednika

Evo pregleda tipičnih struktura korisničkog agenta za glavne preglednike:

Chrome

1Mozilla/5.0 (platform; details) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/version Safari/537.36
2

Firefox

1Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
2

Safari

1Mozilla/5.0 (platform) AppleWebKit/webkitversion (KHTML, like Gecko) Version/safariversion Safari/safariversion
2

Edge

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/chromiumversion Safari/537.36 Edg/edgeversion
2

Odjeljak platforme značajno varira između desktop i mobilnih uređaja:

Primjeri za desktop:

  • Windows: Windows NT 10.0; Win64; x64
  • macOS: Macintosh; Intel Mac OS X 10_15_7
  • Linux: X11; Linux x86_64

Primjeri za mobilne uređaje:

  • Android: Linux; Android 12; SM-G998B
  • iOS: iPhone; CPU iPhone OS 15_4 like Mac OS X

Razlike u vrstama uređaja

Desktop korisnički agenti

Desktop korisnički agenti obično uključuju specifične informacije o operativnom sustavu, detalje arhitekture (poput x86_64 ili Win64) i ponekad jezične preference. Obično su dosljedniji među preglednicima nego mobilni korisnički agenti.

Mobilni korisnički agenti

Mobilni korisnički agenti sadrže informacije o modelu uređaja, verzijama mobilnog operativnog sustava i često uključuju riječ "Mobile" na kraju. Mobilni Safari na iOS uređajima uključit će identifikatore "iPhone" ili "iPad", dok Android uređaji uključuju proizvođača i broj modela.

Obrasci verzija preglednika

Svaki preglednik slijedi različite obrasce verzioniranja:

  • Chrome: Koristi četverodijelne brojeve verzija (npr. 96.0.4664.110)
  • Firefox: Obično koristi dvo- ili trodijelne brojeve verzija (npr. 95.0 ili 95.0.2)
  • Safari: Koristi jednostavne brojeve verzija poput 15.2
  • Edge: Koristi brojeve verzija slične Chromeu, ali s vlastitom Edge verzijom (npr. 96.0.1054.62)

Upotrebe

Generiranje nasumičnih korisničkih agenata ima nekoliko važnih primjena u web razvoju i testiranju:

  1. Testiranje kompatibilnosti između preglednika: Testirajte kako se vaša web stranica prikazuje i funkcionira na različitim preglednicima bez potrebe za instaliranjem više preglednika ili korištenjem više uređaja.

  2. Testiranje responzivnog dizajna: Provjerite da li vaša web stranica ispravno prepoznaje mobilne i desktop uređaje i isporučuje odgovarajući izgled.

  3. Validacija detekcije značajki: Osigurajte da mehanizmi detekcije značajki vaše web stranice ispravno rade za različite mogućnosti preglednika.

  4. QA i automatizirano testiranje: Uključite različite korisničke agente u svoje skripte automatiziranog testiranja kako biste simulirali različita korisnička okruženja.

  5. Testiranje performansi: Analizirajte kako vaša web stranica radi kada joj pristupaju iz različitih pregledničkih okruženja.

  6. Otklanjanje grešaka specifičnih za preglednik: Ponovno reproducirajte i ispravite greške koje se javljaju samo u određenim preglednicima ili verzijama.

  7. Testiranje API-ja: Testirajte kako vaš API obrađuje zahtjeve iz različitih klijentskih aplikacija.

Alternativne opcije

Iako je naš generator nasumičnih korisničkih agenata koristan za mnoge testne scenarije, postoje alternativni pristupi:

  1. Usluge testiranja preglednika: Platforme poput BrowserStack, Sauce Labs ili LambdaTest pružaju stvarne instance preglednika za testiranje umjesto samo simuliranja korisničkog agenta.

  2. Alati za razvoj preglednika: Većina modernih preglednika omogućuje vam da nadjačate korisnički agent putem svojih alata za razvoj, što može biti korisno za brze testove.

  3. Proširenja za promjenu korisničkog agenta: Proširenja preglednika koja vam omogućuju da prebacujete između unaprijed definiranih korisničkih agenata tijekom pregledavanja.

  4. Virtualne mašine ili kontejneri: Pokretanje stvarnih instanci različitih operativnih sustava i preglednika za najtočnije testiranje.

  5. Testiranje bez grafičkog sučelja: Korištenje alata poput Puppeteer ili Selenium za programatsko upravljanje preglednicima s različitim postavkama korisničkog agenta.

Svaka alternativa ima svoje prednosti i može biti prikladnija ovisno o vašim specifičnim testnim potrebama i resursima.

Povijest

Koncept korisničkog agenta stringa datira iz ranih dana Svjetske mreže. Pojam "korisnički agent" dolazi iz HTTP specifikacije, gdje se odnosi na klijentsku aplikaciju koja šalje zahtjev web poslužitelju.

Rani dani (1990-ih)

Prvi široko korišteni preglednik, NCSA Mosaic, uključivao je jednostavan korisnički agent string koji je identificirao ime i verziju preglednika. Kada je Netscape Navigator objavljen, koristio je sličan format. Međutim, kako su web poslužitelji počeli isporučivati različit sadržaj na temelju preglednika, pojavila se praksa poznata kao "sniffing preglednika".

Ratovi preglednika i lažno predstavljanje korisničkog agenta (kasni 1990-ih)

Tijekom ratova preglednika između Netscape-a i Internet Explorera, web stranice su često isporučivale optimizirani sadržaj isključivo određenim preglednicima. Kako bi osigurali kompatibilnost, preglednici su počeli uključivati stringove koji su se identificirali kao drugi preglednici. To je razlog zašto većina modernih preglednika još uvijek uključuje "Mozilla" u svojim korisničkim agentima stringovima, referencu na kodno ime Netscape Navigatora.

Mobilna revolucija (2000-ih-2010-ih)

Uspon mobilnih uređaja uveo je novu složenost u korisničke agente stringove. Mobilni preglednici su trebali identificirati sebe kao mobilne kako bi primili odgovarajući sadržaj, što je dovelo do dodavanja identifikatora uređaja i mobilnih specifičnih tokena.

Moderni izazovi (2010.-danas)

Kako je web ekosustav postao složeniji, korisnički agent stringovi postali su sve zamršeniji. Sada sadrže reference na više pregledničkih motora (poput "AppleWebKit" i "Gecko") iz razloga kompatibilnosti, čak i kada ti motori zapravo nisu u upotrebi.

Ova složenost dovela je do izazova u točnom analiziranju korisničkih agenata stringova, a neke web standardne grupe predložile su depreciranje ili pojednostavljenje korisničkih agenata stringova u korist strukturiranijih klijentskih hintova. Međutim, iz razloga unazadne kompatibilnosti, tradicionalni korisnički agent string ostaje bitan dio web pregledavanja.

Primjeri koda

Evo primjera kako raditi s korisničkim agentima stringovima u raznim programskim jezicima:

1// JavaScript: Detekcija vrste preglednika iz korisničkog agenta
2function detectBrowser() {
3  const userAgent = navigator.userAgent;
4  
5  if (userAgent.indexOf("Firefox") > -1) {
6    return "Firefox";
7  } else if (userAgent.indexOf("SamsungBrowser") > -1) {
8    return "Samsung Browser";
9  } else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
10    return "Opera";
11  } else if (userAgent.indexOf("Trident") > -1) {
12    return "Internet Explorer";
13  } else if (userAgent.indexOf("Edge") > -1) {
14    return "Edge";
15  } else if (userAgent.indexOf("Chrome") > -1) {
16    return "Chrome";
17  } else if (userAgent.indexOf("Safari") > -1) {
18    return "Safari";
19  } else {
20    return "Nepoznato";
21  }
22}
23
24// Upotreba
25console.log("Koristite: " + detectBrowser());
26

Uobičajeni obrasci korisničkog agenta

Evo nekoliko primjera stvarnih korisničkih agenata stringova za različite preglednike i platforme:

Desktop preglednici

Chrome na Windowsu:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
2

Firefox na macOS-u:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2

Safari na macOS-u:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
2

Edge na Windowsu:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62
2

Mobilni preglednici

Chrome na Androidu:

1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36
2

Safari na iPhoneu:

1Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1
2

Firefox na Androidu:

1Mozilla/5.0 (Android 12; Mobile; rv:95.0) Gecko/95.0 Firefox/95.0
2

Samsung Internet na Galaxy:

1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36
2

Reference

  1. "Korisnički agent." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent

  2. "Korisnički agent stringovi preglednika." WhatIsMyBrowser.com, https://www.whatismybrowser.com/guides/the-latest-user-agent/

  3. "HTTP korisnički agent zaglavlje objašnjeno." KeyCDN, https://www.keycdn.com/support/user-agent

  4. "Klijentski hintovi." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints

  5. "Povijest korisničkog agenta stringa." WebAIM, https://webaim.org/blog/user-agent-string-history/

  6. "Detekcija preglednika koristeći korisnički agent." Google Developers, https://developer.chrome.com/docs/multidevice/user-agent/