Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie das CSS-Regressionstesttool backstopjs

So verwenden Sie das CSS-Regressionstesttool backstopjs

php中世界最好的语言
php中世界最好的语言Original
2018-03-06 11:29:532168Durchsuche

Dieses Mal stelle ich Ihnen backstopjs vor. Es kann die von der Benutzeroberfläche erzeugten Bilder automatisch mit den vom Frontend geschriebenen Bildern vergleichen. Es ist sehr einfach zu verwenden, aber es werden auch Probleme auftreten Schreibvorgang. Einige Fragen, schreiben Sie sie jetzt auf und notieren Sie sie

Zuerst müssen Sie die Rücklaufsperre installieren

<pre style="
font-family
: "Microsoft YaHei"; padding: 5px; max-width: 680px !important; 
background-color
: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); 
white-space
: pre-wrap; 
word-wrap
: break-word;">npm install -g backstopjs

Nach der Installation , eine neue Datei im entsprechenden Ordner erstellen, ausführen

<pre style="font-family: "Microsoft YaHei"; padding: 5px; max-width: 680px !important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); white-space: pre-wrap; word-wrap: break-word;"> backstop init

Nach der Initialisierung

auf den Ordner „backstop_data“ klicken

Öffnen Sie package.json

<pre style="font-family: "Microsoft YaHei"; padding: 5px; max-width: 680px !important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170); white-space: pre-wrap; word-wrap: break-word;">{ "id": "backstop_default", "viewports": [ //viewports 为生成的截图的格式,可以写多个,至少为一个
{ "label": "phone", //手机 "width": 320, "height": 480 },
{ "label": "tablet", //平板 "width": 1024, "height": 768 }
], "onBeforeScript": "chromy/onBefore.js", "onReadyScript": "chromy/onReady.js", "scenarios": [
{ "label": "BackstopJS Homepage", "cookiePath": "backstop_data/engine_scripts/cookies.json", "url": "https://garris.github.io/BackstopJS/", //这个路径为我们将要截图的网址 "referenceUrl": "", "readyEvent": "", "readySelector": "", "delay": 0, "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", "clickSelector": "", "postInteractionWait": "", "selectors": [], "selectorExpansion": true, "misMatchThreshold" : 0.1, "requireSameDimensions": true }
], "paths": { "bitmaps_reference": "backstop_data/bitmaps_reference", "bitmaps_test": "backstop_data/bitmaps_test", "engine_scripts": "backstop_data/engine_scripts", "html_report": "backstop_data/html_report", "ci_report": "backstop_data/ci_report" }, "report": ["browser"], "engine": "chrome", "engineFlags": [], "asyncCaptureLimit": 5, "asyncCompareLimit": 50, "debug": false, "debugWindow": false }

Jetzt nehmen wir Baidu Maps als Beispiel, das heißt, ändern Sie die URL des Szenarios in https://map.baidu.com/mobile/webapp/index/index/

Ändern Sie je nach Format des iPhone-Exports die Breite auf 375 und die Höhe auf 667

Zu diesem Zeitpunkt wird beim Ausführen des Backstop-Tests

automatisch eine Seite geöffnet

Der backstop_data-Ordner ist zu diesem Zeitpunkt

. Führen Sie dann die Backstop-Genehmigung aus. Zu diesem Zeitpunkt wird das gerade generierte Bild als Standard verwendet. Dann ändern wir die URL in

https://map.baidu.com/mobile/webapp/index/index/qt=cur&wd=%E4%B8%8A%E6%B5%B7%E5%B8%82&from=maponline&tn=m01&ie=utf-8=utf-8/tab=line

und führen Sie dann den Backstop-Test durch. Markieren Sie ihn

. Das Ergebnis zu diesem Zeitpunkt ist das Ergebnis nach dem Vergleich, und Sie können entsprechend der Differenz Änderungen vornehmen im Vergleich.

Zu diesem Zeitpunkt enthalten die Backstop-Daten weitere Bitmap-Referenzen.

Zusammenfassung: Wenn Sie die Backstop-Genehmigung ausführen, können Sie auch die Backstop-Referenz ausführen, die das aktuell erhaltene Bild als Referenz verwendet,

Sie können auch Ihr eigenes bitmaps_reference-Bild definieren, also ein benutzerdefiniertes Referenzbild, das heißt, das UI-Bild direkt darin einfügen. Beachten Sie jedoch, dass die Benennung des Bildes den Benennungsregeln von entsprechen muss Backstop, das heißt, ja, kopieren Sie einfach den nach dem Test generierten Bildnamen und benennen Sie ihn

Als ich dem Lehrer zum ersten Mal folgte, konnte ich das Foto nicht auf dem Mobiltelefon generieren

Ich habe die Informationen noch einmal überprüft und festgestellt, dass jemand das Etikett als Namen geschrieben hat.

Ich habe es hin und her getestet, und es hat funktioniert. Sowohl das Etikett als auch der Name sind in Ordnung.

Jetzt ist es Zeit, das zu vergleichen Webseiten

I Was ich jetzt schreibe, ist nur die grundlegendste Verwendung. Es gibt sehr detaillierte Verwendungen auf Github. Sie können es bei Bedarf auf Github überprüfen.

Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Verwandte Lektüre:

ES6-Modulsyntax laden, importieren, exportieren

CSS-Pseudoklassenselektor

Zusammenfassung des Boxmodells in HTML

So bestimmen Sie die Grundlinie jedes Boxtyps in HTML

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das CSS-Regressionstesttool backstopjs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn